Android二级分类列表ListView
16lz
2021-01-23
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
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
更多相关文章
- Android 闹钟以及通知
- [Android GMS 认证] CTS 问题列表之 CtsSecurityTestCases
- Android Notifications通知
- Android应用程序组件Content Provider的共享数据更新通知机制分
- Android 软键盘在有scollview,纵向viewpager+recyclview实现列表,
- Android命令行获取WiFi列表以及参数
- 10.10笔记,android通知栏兼容性,matches the given name 'android
- android通过程序收起通知栏