首页 > 系统 > Android > 正文

Android 关于ExpandableListView二级菜单的问题

2019-11-09 15:22:01
字体:
来源:转载
供稿:网友

下面是代码: 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); } } }

效果: 输入图片说明 输入图片说明


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表