1.aty

package com.louis.classifymenuview;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.AdapterView;import android.widget.ListView;import android.widget.SimpleAdapter;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class MainActivity extends AppCompatActivity {    List> mainMapList=new ArrayList<>();    List>> moreMapList_List=new ArrayList<>();    ListView moreLv;    MainListBaseAdapter myBaseAdapter;    MoreListBaseAdpter moreListBaseAdpter;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initData();        ListView mainLv= (ListView) findViewById(R.id.classify_mainlist);        moreLv= (ListView) findViewById(R.id.classify_morelist);        myBaseAdapter=new MainListBaseAdapter(this,mainMapList);      //  mainLv.setAdapter(new SimpleAdapter(this, mainMapList, R.layout.list_items, new String[]{"mianName"}, new int[]{R.id.id_tv_list_item}));        mainLv.setAdapter(myBaseAdapter);       // mainLv.setChoiceMode(ListView.CHOICE_MODE_SINGLE);        initMoreBaseAdapter(0);        mainLv.setOnItemClickListener(new AdapterView.OnItemClickListener() {            @Override            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {             myBaseAdapter.setNowSelectedIndex(position);              initMoreBaseAdapter(position);            }        });    }    private void initMoreBaseAdapter(int position) {         moreListBaseAdpter=new MoreListBaseAdpter(this,moreMapList_List.get(position));       // SimpleAdapter simpleAdapter= new SimpleAdapter(MainActivity.this, moreMapList_List.get(position), R.layout.list_items, new String[]{"moreName"}, new int[]{R.id.id_tv_list_item});        moreLv.setAdapter(moreListBaseAdpter);       moreLv.setOnItemClickListener(new AdapterView.OnItemClickListener() {           @Override           public void onItemClick(AdapterView<?> parent, View view, int position, long id) {               moreListBaseAdpter.setNowSelectedIndex(position);           }       });        moreListBaseAdpter.notifyDataSetChanged();    }    private void initMoreAdapter(int position) {        SimpleAdapter simpleAdapter= new SimpleAdapter(MainActivity.this, moreMapList_List.get(position), R.layout.list_items, new String[]{"moreName"}, new int[]{R.id.id_tv_list_item});        moreLv.setAdapter(simpleAdapter);        simpleAdapter.notifyDataSetChanged();    }    private void initData() {        for (int i=0;i<15;i++){            Map  mianMap=new HashMap<>();            mianMap.put("mainName","mainName"+i);            mainMapList.add(mianMap);            List> moreMapList=new ArrayList<>();            for (int j=0;j<10;j++){                Map  moreMap=new HashMap<>();                moreMap.put("moreName","mainName"+i+"下moreName"+j);                moreMapList.add(moreMap);            }            moreMapList_List.add(moreMapList);        }    }}

2.xml 4aty

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="com.louis.classifymenuview.MainActivity">    <LinearLayout        android:layout_width="wrap_content"        android:layout_height="wrap_content">        <ListView            android:id="@+id/classify_mainlist"            android:layout_width="match_parent"            android:layout_height="match_parent"            android:layout_weight="20"            android:background="#fff"            android:cacheColorHint="#00000000"            android:divider="#fff"            android:dividerHeight="1px"            android:fastScrollEnabled="true"            android:listSelector="#00000000"            android:scrollbars="none" />        <ListView            android:id="@+id/classify_morelist"            android:layout_width="match_parent"            android:layout_height="match_parent"            android:layout_weight="17"            android:background="#fff"            android:cacheColorHint="#00000000"            android:divider="#ffebebeb"            android:dividerHeight="0.5px"            android:fastScrollEnabled="true"            android:listSelector="#00000000"            android:scrollbars="none" />    LinearLayout>LinearLayout>

3.简陋的item xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"><TextView    android:id="@+id/id_tv_list_item"    android:layout_width="match_parent"    android:gravity="center_vertical"    android:padding="10dp"    android:layout_height="match_parent" />LinearLayout>

4.main adpter MainListBaseAdapter

package com.louis.classifymenuview;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.TextView;import java.util.List;import java.util.Map;/** * Created by Administrator on 2016/3/17. */public class MainListBaseAdapter extends BaseAdapter {    Context context;    List> mainMapList;    public int getNowSelectedIndex() {        return nowSelectedIndex;    }    public void setNowSelectedIndex(int nowSelectedIndex) {        this.nowSelectedIndex = nowSelectedIndex;        this.notifyDataSetChanged();//及时通知显示    }    private int nowSelectedIndex = 0;    public MainListBaseAdapter(Context context, List> mainMapList) {        this.context = context;        this.mainMapList=mainMapList;    }    @Override    public int getCount() {        return mainMapList.size();    }    @Override    public Object getItem(int position) {        return mainMapList.get(position);    }    @Override    public long getItemId(int position) {        return position;    }    @Override    public View getView(int position, View convertView, ViewGroup parent) {        if (convertView==null){            convertView= LayoutInflater.from(context).inflate(R.layout.list_items,null);        }        TextView tv_list_item= (TextView) convertView.findViewById(R.id.id_tv_list_item);        tv_list_item.setText(mainMapList.get(position).get("mainName").toString());        if (position==nowSelectedIndex){            tv_list_item.setBackgroundColor(0xFFFFFFFF);        }else        {            tv_list_item.setBackgroundColor(0xFFEBEBEB);        }        return convertView;    }}

5。 more list adapter

package com.louis.classifymenuview;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.TextView;import java.util.List;import java.util.Map;/** * Created by Administrator on 2016/3/17. */public class MoreListBaseAdpter extends BaseAdapter {    Context context;    List> moreMapList;    private int nowSelectedIndex = 0;    public MoreListBaseAdpter(Context context, List> moreMapList) {        this.context = context;        this.moreMapList = moreMapList;    }    @Override    public int getCount() {        return moreMapList.size();    }    @Override    public Object getItem(int position) {        return moreMapList.get(position);    }    @Override    public long getItemId(int position) {        return position;    }    @Override    public View getView(int position, View convertView, ViewGroup parent) {        if (convertView == null) {            convertView = LayoutInflater.from(context).inflate(R.layout.list_items, null);        }        TextView tv_list_item = (TextView) convertView.findViewById(R.id.id_tv_list_item);        tv_list_item.setText(moreMapList.get(position).get("moreName").toString());        if (position == nowSelectedIndex) {            tv_list_item.setTextColor(0xFFB3EE3A);        } else {            tv_list_item.setTextColor(0xFF525252);        }        return  convertView;    }    public int getNowSelectedIndex() {        return nowSelectedIndex;    }    public void setNowSelectedIndex(int nowSelectedIndex) {        this.nowSelectedIndex = nowSelectedIndex;        this.notifyDataSetChanged();//及时通知显示    }}

结果

demo下载:http://download.csdn.net/detail/richiezhu/9464387

Android二级分类列表GirdView见:http://blog.csdn.net/richiezhu/article/details/50920384

更多相关文章

  1. Android(安卓)打开Activity后,不显示键盘
  2. Android(安卓)歌词Lrc显示 自定义View
  3. Android(安卓)显示刷新频率的实现代码
  4. Android(安卓)解决Toast的延时显示问题
  5. android原生音乐播放器界面字体显示不全
  6. Android(安卓)控件的显示和隐藏
  7. android 中让activity全屏幕显示
  8. Android(安卓)Timer的使用
  9. android 中让activity全屏幕显示

随机推荐

  1. Android常用查询网站
  2. Androidstudio 错误处理
  3. IT技术权威网站和深度博客
  4. Android中SQLiteDatabase的使用
  5. 《Android开发从零开始》——12.Relative
  6. android SAX parse xml
  7. android 判断网络并Wifi网络连接
  8. linux上cocos2dx Android打包环境
  9. Android Studio Mac版快捷键
  10. android 心跳效果