2023年7月13日发(作者:)
Android仿美团外卖菜单界⾯美团外卖菜单界⾯的Android实现代码,供⼤家参考,具体内容如下布局⽂件总布局左侧布局右侧布局 适配器左侧适配器package e.a1_.adapter;import ;import ;import oup;import apter;import ew;import e.a1_.an;import e.a1_.R;import ;/** * Created by Administrator on 2017.05.27.0027. */public class LeftAdapter extends BaseAdapter {private List mList;private int currentLeftItem = 0;//创建⼀个构造⽅法public LeftAdapter(List mList) { = mList;}@Overridepublic int getCount() { return ();}@Overridepublic LeftBean getItem(int position) { return (position);}@Overridepublic long getItemId(int position) { return position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder = null; if (convertView==null){ convertView = e(text(), _item,null); //创建viewHolder对象 viewHolder = new ViewHolder(); _title = (TextView) ewById(_title); //让viewholder挂在convertview上⾯⼀起复⽤ (viewHolder); }else { //当convertView不为空时,吧viewholder取出来 viewHolder = (ViewHolder) (); } //获取对应条⽬的内容 LeftBean leftBean = getItem(position); //把对应条⽬的内容设置在控件上 _t(); //给左侧条⽬设置颜⾊ if (currentLeftItem ==position){ _tColor(); } return convertView;}public void setCurrentSelect(int currentLeftItem){ tLeftItem = currentLeftItem;}//创建⼀个viewholder,⽤来复⽤对象class ViewHolder{ TextView tv_title;}}右侧适配器package e.a1_.adapter;import t;import ;import ;import oup;import apter;import ew;import ew;import e.a1_.an;import e.a1_.ean;import e.a1_.R;import ;import ;import ListHeadersAdapter;/** * Created by Administrator on 2017.05.27.0027. */public class RightAdapter extends BaseAdapter implements StickyListHeadersAdapter {private List mLeft;private List mRight;private Context context;public RightAdapter(List mLeft, List mRight, Context context) { = mLeft; = mRight; t = context;}@Overridepublic View getHeaderView(int position, View convertView, ViewGroup parent) { TextView tv = new TextView(context); tColor(); tSize(18); t((position).type); return tv;}@Overridepublic long getHeaderId(int position) { return (position).typeId;}@Overridepublic int getCount() { return ();}@Overridepublic RightBean getItem(int position) { return (position);}@Overridepublic long getItemId(int position) { return position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder = null; if (convertView==null){ convertView = e(context, _item,null); viewHolder = new ViewHolder(); 1 = (TextView) ewById(_right_title1); 2 = (TextView) ewById(_right_title2); = (TextView) ewById(_right_count); (viewHolder); }else { viewHolder = (ViewHolder) (); } RightBean rightBean = (position); t(); t(); //使⽤Random获取随机数 Random random = new Random(); int i = t(100); t("⽉销量"+i+"份"); return convertView;}static class ViewHolder{ TextView title1; TextView title2; TextView count;}}javabean⽂件左侧package e.a1_.Bean;public class LeftBean {public String title;public int type;}右侧package e.a1_.Bean;import ;public class RightBean {public String biaoti;public String type;public int typeId;}数据源package e.a1_.data;import e.a1_.an;import e.a1_.ean;import ist;import ;/** * Created by wangcaisheng on 2017/5/27. */public class Data {private static String[] leftData = new String[]{"13.9特价套餐","粗粮主⾷","佐餐⼩吃","⽤⼼营养套餐(不含主⾷)","三杯鸡双拼尊享套餐","带鱼双拼尊享套餐","红烧⾁双拼尊享套餐"};private static String[] rightData0 = new String[]{"洋芋粉炒腊⾁","⼟鸡炖⾹菇","新疆⼤盘辣⼦⼟鸡","清炖⼟鸡块","农家蒸碗 ","⾹辣野猪⾁","⾹辣薯条⼤虾","⿇辣猪⾎"};private static String[] rightData1 = new String[]{"商芝扣⾁","⽺⾁萝⼘","⼲烧鱼 ","⼲煸野猪⾁ ","排⾻⽕锅","⼟鸡⽕锅","⽜⾁⽕锅","狗⾁⽕锅 "};private static String[] rightData2 = new String[]{"虎⽪辣⼦炒咸⾁","重庆飘⾹⽔煮鱼","红烧⼟鸡块","⼲煸辣⼦⼟鸡","清炖全鸡 "};private static String[] rightData3 = new String[]{"洋芋粉炒腊⾁","⼟鸡炖⾹菇","新疆⼤盘辣⼦⼟鸡","清炖⼟鸡块","农家蒸碗 ","⾹辣野猪⾁","⾹辣薯条⼤虾","⿇辣猪⾎"};private static String[] rightData4 = new String[]{"洋芋粉炒腊⾁","⼟鸡炖⾹菇","新疆⼤盘辣⼦⼟鸡","清炖⼟鸡块","农家蒸碗 ","⾹辣野猪⾁","⾹辣薯条⼤虾","⿇辣猪⾎"};private static String[] rightData5 = new String[]{"洋芋粉炒腊⾁","⼟鸡炖⾹菇","新疆⼤盘辣⼦⼟鸡","清炖⼟鸡块","农家蒸碗 ","⾹辣野猪⾁","⾹辣薯条⼤虾","⿇辣猪⾎"};private static String[] rightData6 = new String[]{"洋芋粉炒腊⾁","⼟鸡炖⾹菇","新疆⼤盘辣⼦⼟鸡","清炖⼟鸡块","农家蒸碗 ","⾹辣野猪⾁","⾹辣薯条⼤虾","⿇辣猪⾎"};public static List getLeftData(){ List list = new ArrayList(); for (int i = 0; i < ; i++) { LeftBean bean = new LeftBean(); = leftData[i]; = i; (bean); } return list;}public static List getRightData(List list){ List rightList = new ArrayList(); for (int i = 0; i < (); i++) { LeftBean leftBean = (i); int mType = ; switch (mType) { case 0: rightList = getRightList(rightData0, leftBean, mType, rightList); break; case 1: rightList = getRightList(rightData1, leftBean, mType, rightList); break; case 2: rightList = getRightList(rightData2, leftBean, mType, rightList); break; case 3: rightList = getRightList(rightData3, leftBean, mType, rightList); break; case 4: rightList = getRightList(rightData4, leftBean, mType, rightList); break; case 5: rightList = getRightList(rightData5, leftBean, mType, rightList); break; case 6: rightList = getRightList(rightData6, leftBean, mType, rightList); break; } } return rightList;}private static List getRightList(String[] arr, LeftBean leftBean, int mType, List rightList){ for (int j = 0; j < ; j++) { RightBean bean = new RightBean(); = ; = arr[j]; = mType; (bean); } return rightList;}}核⼼代码package e.a1_.activity;import ;import patActivity;import ;import rView;import ew;import e.a1_.an;import e.a1_.ean;import e.a1_.R;import e.a1_.apter;import e.a1_.dapter;import e.a1_.;import ;import ListHeadersListView;public class MainActivity extends AppCompatActivity {private ListView lv_left;private StickyListHeadersListView lv_right;private int currentLeftItem;@Overrideprotected void onCreate(Bundle savedInstanceState) { te(savedInstanceState); setContentView(ty_main); initView(); initData();}//初始化控件private void initView() { //初始化控件 lv_left = (ListView) findViewById(_left); lv_right = (StickyListHeadersListView) findViewById(_right);}//设置适配器private void initData() { //创建适配器 final LeftAdapter leftAdapter = new LeftAdapter(tData()); //获取左侧数据 final List leftData = tData(); //获取右侧数据 final List rightData = htData(leftData); RightAdapter rightAdapter = new RightAdapter(leftData, rightData, this); //为左侧布局设置适配器 lv_pter(leftAdapter); lv_pter(rightAdapter); //为左侧条⽬设置点击事件 lv_temClickListener(new ClickListener() { @Override public void onItemClick(AdapterView> parent, View view, int position, long id) { //当左侧条⽬被点击时,记录下被点击条⽬的type int type = (position).type; //遍历右侧条⽬,并获取右侧条⽬的typeId,与刚刚获取的type对⽐,是否⼀致 for (int i = 0; i < (); i++) { if (type == (i).typeId) { //如果找到对应的条⽬,那就将右侧条⽬滚动⾄对应条⽬,并跳出循环 lv_ScrollToPosition(i); currentLeftItem = i; //设置当前被选中的左侧条⽬ rentSelect(currentLeftItem); //刷新数据适配器 DataSetChanged(); break; } }// xt(, "您选中了"+(position).title, _SHORT).show(); } }); //为右侧条⽬设置点击事件 lv_temClickListener(new ClickListener() { @Override public void onItemClick(AdapterView> parent, View view, int position, long id) {// xt(, "右侧条⽬被点击了"+position, _SHORT).show(); //当右侧条⽬被点击时,获取被点击条⽬的typeId int typeId = (position).typeId; //遍历左侧条⽬ for (int i = 0; i < (); i++) { //获取左侧条⽬的type,与右侧条⽬的typeId对⽐是否⼀致 if (typeId == (i).type) { //说明找到了对应条⽬,跳出循环,设置当前被选中的条⽬ currentLeftItem = i; //设置当前被选中的左侧条⽬ rentSelect(currentLeftItem); //刷新数据适配器 DataSetChanged(); break; } } } });}}以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
发布者:admin,转转请注明出处:http://www.yc00.com/news/1689215327a222180.html
评论列表(0条)