仿饿了么美团点餐界面,listView的二级联动

2023-12-28 14:59

本文主要是介绍仿饿了么美团点餐界面,listView的二级联动,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

项目需求,需要在项目里加入点餐的功能,自己简单写了一个,

先看图,界面丑勿喷:



只是做了简单的效果,实现点击左边右边改变,滑动右边左边改变,代码量很少,可以参考下

这是项目目录:


布局文件



左边listView 适配器

public class LeftAdapter extends BaseAdapter{


private List<LeftMenu> dataList;
private Context contex;
private LayoutInflater inflater;
private int currentItem = 0;//当前item
private String click;


public LeftAdapter(Context context,List<LeftMenu> datas,int pos,String isClick) {
// TODO Auto-generated constructor stub
this.click = isClick;
this.contex = context;
this.dataList = datas;
this.currentItem = pos;
this.inflater = LayoutInflater.from(context);
}

public LeftAdapter(Context context,List<LeftMenu> datas) {
// TODO Auto-generated constructor stub
this.contex = context;
this.dataList = datas;
this.inflater = LayoutInflater.from(context);
}


@Override
public int getCount() {
// TODO Auto-generated method stub
return dataList.size();
}


@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}


@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}


@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder;
if(convertView == null){
convertView = inflater.inflate(R.layout.left_item, null);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
}else {
holder = (ViewHolder) convertView.getTag();
}

LeftMenu menu = dataList.get(position);
holder.textView.setText(menu.getLeftMenu());

if(click != ""){//如果点击不为空,就是点击了左边的item
if(currentItem == position){//如果当前条目等于position
holder.textView.setBackgroundColor(Color.BLUE);//设置选择状态的背景颜色
}
}else {
if(position == 0){
holder.textView.setBackgroundColor(Color.BLUE);//设置未选择状态的背景颜色
}
}


return convertView;
}

class ViewHolder{


TextView textView;
public ViewHolder(View convertView) {
// TODO Auto-generated constructor stub

textView = (TextView) convertView.findViewById(R.id.left_lv);
}

}


}


右边适配器

public class RightAdapter extends BaseAdapter{


private List<RightMenu> dataList;
private Context contex;
private LayoutInflater inflater;
private RightItemAdapter itemAdapter;

public RightAdapter(Context context,List<RightMenu> data) {
// TODO Auto-generated constructor stub
this.dataList =data;
this.contex = context;
this.inflater = LayoutInflater.from(context);
}

@Override
public int getCount() {
// TODO Auto-generated method stub
return dataList.size();
}


@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}


@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}


@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder;
if(convertView == null){
convertView = inflater.inflate(R.layout.right_item, null);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
}else {
holder = (ViewHolder) convertView.getTag();
}
itemAdapter = new RightItemAdapter(contex,dataList,position);
holder.cListView.setAdapter(itemAdapter);

RightMenu menu = dataList.get(position);
holder.textView.setText(menu.getRightTitle());

return convertView;
}


class ViewHolder{


CostomListView cListView;
TextView textView;
public ViewHolder(View convertView) {
// TODO Auto-generated constructor stub
textView = (TextView) convertView.findViewById(R.id.right_lv);
cListView = (CostomListView) convertView.findViewById(R.id.right_cos_list);
}

}
}


下载地址  http://download.csdn.net/download/zdd199401/9956885


这篇关于仿饿了么美团点餐界面,listView的二级联动的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/546352

相关文章

Python中的可视化设计与UI界面实现

《Python中的可视化设计与UI界面实现》本文介绍了如何使用Python创建用户界面(UI),包括使用Tkinter、PyQt、Kivy等库进行基本窗口、动态图表和动画效果的实现,通过示例代码,展示... 目录从像素到界面:python带你玩转UI设计示例:使用Tkinter创建一个简单的窗口绘图魔法:用

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

一款支持同一个屏幕界面同时播放多个视频的视频播放软件

GridPlayer 是一款基于 VLC 的免费开源跨平台多视频同步播放工具,支持在一块屏幕上同时播放多个视频。其主要功能包括: 多视频播放:用户可以在一个窗口中同时播放任意数量的视频,数量仅受硬件性能限制。支持多种格式和流媒体:GridPlayer 支持所有由 VLC 支持的视频格式以及流媒体 URL(如 m3u8 链接)。自定义网格布局:用户可以配置播放器的网格布局,以适应不同的观看需求。硬

未雨绸缪:环保专包二级资质续期工程师招聘时间策略

对于环保企业而言,在二级资质续期前启动工程师招聘的时间规划至关重要。考虑到招聘流程的复杂性、企业内部需求的变化以及政策标准的更新,建议环保企业在二级资质续期前至少提前6至12个月启动工程师招聘工作。这个时间规划可以细化为以下几个阶段: 一、前期准备阶段(提前6-12个月) 政策与标准研究: 深入研究国家和地方关于环保二级资质续期的最新政策、法规和标准,了解对工程师的具体要求。评估政策变化可

centOS7.0设置默认进入字符界面

刚装的,带有x window桌面,每次都是进的桌面,想改成自动进命令行的。记得以前是修改 /etc/inittab 但是这个版本inittab里的内容不一样了没有id:x:initdefault这一行而且我手动加上也不管用,这个centos 7下 /etc/inittab 的内容 Targets systemd uses targets which serve a simil

Appium--界面元素选择

在操作界面元素前,我们需要进行手机与电脑的连接,这里介绍一个adb无线连接的方法: Adb无线连接功能 无线连接步骤(确保手机和电脑处于同一局域网) 1先以USB有线连接方式连接到计算机 2激活手机adb的无线服务: 命令行输入adb tcpip 5555(5555是端口号) 3计算机以无线方式连接到手机: 命令行输入adb connect 配置信息 desired_caps:这些键值对告诉ap

listview与复选框的合并使用

在使用listview的过程中,我们常常需要使用复选框,实现一些批处理功能。这时候我们需使用自定义的adapter,实现相关复选框的事件响应。      首先在adapter定义一个哈希表,用于存放复选框的选中情况:      如private static HashMap<String,Boolean> isSelected,private static HashMap<Inter

【YOLO 系列】基于YOLOV8的智能花卉分类检测系统【python源码+Pyqt5界面+数据集+训练代码】

前言: 花朵作为自然界中的重要组成部分,不仅在生态学上具有重要意义,也在园艺、农业以及艺术领域中占有一席之地。随着图像识别技术的发展,自动化的花朵分类对于植物研究、生物多样性保护以及园艺爱好者来说变得越发重要。为了提高花朵分类的效率和准确性,我们启动了基于YOLO V8的花朵分类智能识别系统项目。该项目利用深度学习技术,通过分析花朵图像,自动识别并分类不同种类的花朵,为用户提供一个高效的花朵识别

【虚拟机/服务器】非图形化界面下修改Shell中颜色的设置

1、首先 cd ~ && ll 可以看到如下图所示 2、输入 sudo vim .bashrc 进入 .bashrc 并通过 /PS1 迅速从上往下定位第一个PS1 3、输入 i 进入插入模式后修改 else 下面的配置如下 说明:\e[1;32;40m] 其中1表示高亮显示,32表示字体颜色是绿色,40表示背景色为黑色 4、输入 esc 退出编辑模式到命令模式,再输入

从零开始:打造你的第一个餐厅点餐小程序

目录 1 为什么选择点餐小程序2 会有哪些功能2.1 顾客端2.2 服务员端2.3 后厨端2.4 收银端2.5 管理员(老板)端 3 开发工具选择4 你将获得什么让我们开始吧 最近,有不少粉丝咨询,有没有系统的低代码学习教程呀?为啥你的教程有的刚看的提起兴趣,怎么突然就中断了。有没有系统的视频学习教程呀,你是不是还有压箱底的好宝贝,没开放给我们看呀。 还真不是,压箱底的好宝贝已