本文实例讲述了Android中ExpandableListView的用法,ExpandableListView是android中可以实现下拉list的一个控件,具体的实现方法如下:
首先:在layout的xml文件中定义一个ExpandableListView
<LinearLayout android:id="@+id/linearLayout" android:layout_width="fill_parent" android:layout_height="fill_parent" androidrientation="vertical" > <ExpandableListView android:id="@+id/expandableListView" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout>
定义两个List,用来存放控件中Group/Child中的String
private List<String> groupArray; private List<List<String>> childArray;
对这两个List进行初始化,并插入一些数据
groupArray = new ArrayList<String>(); childArray = new ArrayList<List<String>>(); groupArray.add("第一行"); groupArray.add("第二行"); List<String> tempArray = new ArrayList<String>(); tempArray.add("第一条"); tempArray.add("第二条"); tempArray.add("第三条"); for(int index = 0; index <groupArray.size(); ++index) { childArray.add(tempArray); }
定义ExpandableListView的Adapter
//ExpandableListView的Adapter public class ExpandableAdapter extends BaseExpandableListAdapter { Activity activity; public ExpandableAdapter(Activity a) { activity = a; } public Object getChild(int groupPosition, int childPosition) { return childArray.get(groupPosition).get(childPosition); } public long getChildId(int groupPosition, int childPosition) { return childPosition; } public int getChildrenCount(int groupPosition) { return childArray.get(groupPosition).size(); } public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { String string = childArray.get(groupPosition).get(childPosition); return getGenericView(string); } // group method stub public Object getGroup(int groupPosition) { return groupArray.get(groupPosition); } public int getGroupCount() { return groupArray.size(); } public long getGroupId(int groupPosition) { return groupPosition; } public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { String string = groupArray.get(groupPosition); return getGenericView(string); } // View stub to create Group/Children 's View public TextView getGenericView(String string) { // Layout parameters for the ExpandableListView AbsListView.LayoutParams layoutParams = new AbsListView.LayoutParams( ViewGroup.LayoutParams.FILL_PARENT, 64); TextView text = new TextView(activity); text.setLayoutParams(layoutParams); // Center the text vertically text.setGravity(Gravity.CENTER_VERTICAL | Gravity.LEFT); // Set the text starting position text.setPadding(36, 0, 0, 0); text.setText(string); return text; } public boolean hasStableIds() { return false; } public boolean isChildSelectable(int groupPosition, int childPosition) { return true; } }
最后,给定义好的ExpandableListView添加上Adapter
ExpandableListView expandableListView = (ExpandableListView)findViewById(R.id.expandableListView); expandableListView.setAdapter(new ExpandableAdapter(Main.this));
希望本文所述对大家的Android程序设计有所帮助。
本文向大家介绍Android 中使用ExpandableListView 实现分组的实例,包括了Android 中使用ExpandableListView 实现分组的实例的使用技巧和注意事项,需要的朋友参考一下 Android 中使用ExpandableListView 实现分组 一个视图显示垂直滚动两级列表中的条目。这不同于列表视图,允许两个层次,类似于QQ的好友分组。要实现这个效果的整体思路
本文向大家介绍Android改变ExpandableListView的indicator图标实现方法,包括了Android改变ExpandableListView的indicator图标实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android改变ExpandableListView的indicator图标实现方法。分享给大家供大家参考,具体如下: 1)定义xml文件先,命名为
本文向大家介绍Android中ExpandableListView使用示例详解,包括了Android中ExpandableListView使用示例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了ExpandableListView使用示例,供大家参考,具体内容如下 MainActivity: MainActivity.xml: ExpandableListViewAdpter:
本文向大家介绍Android ExpandableListView展开列表控件使用实例,包括了Android ExpandableListView展开列表控件使用实例的使用技巧和注意事项,需要的朋友参考一下 你是否觉得手机QQ上的好友列表那个控件非常棒? 不是..... 那也没关系,学多一点知识对自己也有益无害。 那么我们就开始吧。 展开型列表控件, 原名ExpandableListView 是普
本文向大家介绍Android中使用Expandablelistview实现微信通讯录界面,包括了Android中使用Expandablelistview实现微信通讯录界面的使用技巧和注意事项,需要的朋友参考一下 之前的博文《Android 中使用ExpandableListView 实现分组的实例》我简单介绍了使用ExpandableListView实现简单的好友分组功能,今天我们针对之前的所做的
本文向大家介绍分享Android中ExpandableListView控件使用教程,包括了分享Android中ExpandableListView控件使用教程的使用技巧和注意事项,需要的朋友参考一下 本文采用一个Demo来展示Android中ExpandableListView控件的使用,如如何在组/子ListView中绑定数据源。直接上代码如下: 程序结构图: layout目录下的 main.x