Android 关于ExpandableListView二级菜单的问题
来源:互联网 发布:程序员的岗位职责 编辑:程序博客网 时间:2024/05/02 23:56
下面是代码: activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ExpandableListView android:id="@+id/expandableListView" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </LinearLayout>
父布局lv_group.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" android:orientation="horizontal" android:padding="15dp" > <TextView android:id="@+id/tv_group" android:layout_width="match_parent" android:layout_height="40dp" android:textColor="#000000" android:layout_marginLeft="10dp" android:textSize="15sp" android:gravity="left|center_vertical" /> </LinearLayout>
子布局lv_children.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" android:orientation="horizontal" > <TextView android:id="@+id/user_name" android:layout_width="match_parent" android:layout_height="40dp" android:textColor="#000000" android:textSize="15sp" android:layout_marginLeft="10dp" android:gravity="left|center_vertical" /> </LinearLayout>
下面是主代码:
package com.example.text; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.app.Activity; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseExpandableListAdapter; import android.widget.ExpandableListView; import android.widget.TextView; public class MainActivity extends Activity { private ExpandableListView expandableListView; private List<Map<String, Object>> data_list = new ArrayList<Map<String, Object>>(); private List<Map<String, Object>> data_list1 = new ArrayList<Map<String, Object>>(); private String[] content = { "设备", "设备", "设备", "设备", "设备", "设备", "设备", "设备", "设备", "设备" }; private String[] content1 = { "机型类别", "机型类别", "机型类别", "机型类别", "机型类别", "机型类别", "机型类别" }; private MyAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); expandableListView = (ExpandableListView) findViewById(R.id.expandableListView); data(); data1(); adapter = new MyAdapter(data_list, data_list1); expandableListView.setAdapter(adapter); } public class MyAdapter extends BaseExpandableListAdapter { List<Map<String, Object>> data_list; List<Map<String, Object>> data_list1; public MyAdapter(List<Map<String, Object>> data_list, List<Map<String, Object>> data_list1) { this.data_list = data_list; this.data_list1 = data_list1; } @Override public int getGroupCount() { return data_list1.size(); } @Override public int getChildrenCount(int groupPosition) { return data_list.size(); } @Override public Object getGroup(int groupPosition) { return data_list1.get(groupPosition); } @Override public Object getChild(int groupPosition, int childPosition) { return data_list.get(groupPosition).get(childPosition); } @Override public long getGroupId(int groupPosition) { return groupPosition; } @Override public long getChildId(int groupPosition, int childPosition) { return childPosition; } @Override public boolean hasStableIds() { return true; } /** * 显示:group */ @Override public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { ViewGroupHolder holder; if (convertView == null) { convertView = LayoutInflater.from(MainActivity.this).inflate( R.layout.lv_group, null); holder = new ViewGroupHolder(); holder.tv_group = (TextView) convertView .findViewById(R.id.tv_group); convertView.setTag(holder); } else { holder = (ViewGroupHolder) convertView.getTag(); } holder.tv_group.setText((String) data_list1.get(groupPosition).get( "content1")); return convertView; } /** * 显示:child */ @Override public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { ViewChildrenHolder holder; if (convertView == null) { convertView = LayoutInflater.from(MainActivity.this).inflate( R.layout.lv_children, null); holder = new ViewChildrenHolder(); holder.tv_name = (TextView) convertView .findViewById(R.id.user_name); convertView.setTag(holder); } else { holder = (ViewChildrenHolder) convertView.getTag(); } holder.tv_name.setText((String) data_list.get(childPosition).get( "content")); return convertView; } class ViewGroupHolder { TextView tv_group; } class ViewChildrenHolder { TextView tv_name; } @Override public boolean isChildSelectable(int groupPosition, int childPosition) { return false; } } private void data() { for (int i = 0; i < content.length; i++) { Map<String, Object> map = new HashMap<String, Object>(); map.put("content", content[i]); data_list.add(map); } } private void data1() { for (int j = 0; j < content1.length; j++) { Map<String, Object> map1 = new HashMap<String, Object>(); map1.put("content1", content1[j]); data_list1.add(map1); } } }
效果:
0 0
- Android 关于ExpandableListView二级菜单的问题
- 使用Expandablelistview控件出现二级菜单出不来的问题
- Expandablelistview 带有二级菜单的listview
- 二级菜单ExpandableListView
- 二级菜单---ExpandableListView
- ExpandableListview二级菜单
- ExpandableListView二级菜单用法
- Android::ExpandableListView二级列表控件的使用
- Android ExpandableListView (二级列表)
- android ExpandableListView二级列表
- android 二级ListVew--ExpandableListView
- android 二级菜单的实现
- 关于android中ExpandableListView控件的展开刷新问题
- android ExpandableListView三级菜单的使用
- android ExpandableListView三级菜单的使用
- ExpandableListView 动态加载 点击一级菜单时再加载二级菜单的内容实现
- android 控件 ExpandableListView 二级listview
- android 二级列表 expandablelistview 下标越界的解决
- 【真正福利】成为专业程序员路上用到的各种优秀资料、神器及框架
- 【H.264/AVC视频编解码技术详解】
- android 动画的Interpolator插值器
- GSON解析json数据详解
- 确定和监控插接状态和基座类型
- Android 关于ExpandableListView二级菜单的问题
- arcengine 空间挂接赋值
- vmware workstation 9.0.0-812388 license key
- 纯CSS实现侧边栏/分栏高度自动相等
- 程序员最好的投资:数据结构
- Android排错
- iOS开发-去model化开发
- Android设计模式
- 相机工作原理