本文实例为大家分享了ExpandableListView使用示例,供大家参考,具体内容如下
MainActivity:
public class Expandable_test extends Activity { private ExpandableListView listView; private Map<String, List<String>> dataset = new HashMap<>(); private String[] parentList = new String[]{"第一个菜单", "第二个菜单"}; private ExpandableListViewAdpter adpter; private Context mContext = this; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_expandable_test); listView=(ExpandableListView)findViewById(R.id.expandableListViewtext); adpter=new ExpandableListViewAdpter(this,parentList); listView.setAdapter(adpter); } }
MainActivity.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.fae.mobile.testActivity.Expandable_test"> <ExpandableListView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/expandableListViewtext"> </ExpandableListView> </LinearLayout>
ExpandableListViewAdpter:
public class ExpandableListViewAdpter extends BaseExpandableListAdapter { private Context mContext; private Map<String, List<String>> dataset = new HashMap<>(); private String[] parentList = new String[]{"第一个菜单", "第二个菜单"}; private String[][] chdrenList=new String[][] {{"菜单1","菜单1","菜单1","菜单1","菜单1","菜单1"},{"菜单2","菜单2","菜单2","菜单2","菜单2"}}; public ExpandableListViewAdpter(Context context, String[] parentList){ this.mContext=context; this.dataset=dataset; this.parentList=parentList; } @Override public int getGroupCount() { return parentList.length; } @Override public int getChildrenCount(int groupPosition) { return chdrenList[groupPosition].length; } @Override public Object getGroup(int groupPosition) { return parentList[groupPosition]; } @Override public Object getChild(int groupPosition, int childPosition) { return chdrenList[groupPosition][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; } @Override public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { GroupViewHolder holder=null; if(convertView==null){ convertView = LayoutInflater.from(mContext).inflate(R.layout.itemlayoutexpandable, null); holder=new GroupViewHolder(); holder.text=(TextView)convertView.findViewById(R.id.item_text); convertView.setTag(holder); } else { holder=(GroupViewHolder)convertView.getTag(); } holder.text.setText(parentList[groupPosition]); return convertView; } @Override public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { ChildViewHolder holder=null; if(convertView==null){ convertView = LayoutInflater.from(mContext).inflate(R.layout.itemlayoutexpandable, null); holder=new ChildViewHolder(); holder.text=(TextView)convertView.findViewById(R.id.item_text); convertView.setTag(holder); } else { holder=(ChildViewHolder)convertView.getTag(); } holder.text.setText(chdrenList[groupPosition][childPosition]); return convertView; } @Override public boolean isChildSelectable(int groupPosition, int childPosition) { return true; } class GroupViewHolder { TextView text; } class ChildViewHolder { TextView text; } }
Item.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="bottom" android:id="@+id/item_text"/> </LinearLayout>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍Android中ExpandableListView的用法实例,包括了Android中ExpandableListView的用法实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android中ExpandableListView的用法,ExpandableListView是android中可以实现下拉list的一个控件,具体的实现方法如下: 首先:在layout的xml文
本文向大家介绍Android 中使用ExpandableListView 实现分组的实例,包括了Android 中使用ExpandableListView 实现分组的实例的使用技巧和注意事项,需要的朋友参考一下 Android 中使用ExpandableListView 实现分组 一个视图显示垂直滚动两级列表中的条目。这不同于列表视图,允许两个层次,类似于QQ的好友分组。要实现这个效果的整体思路
本文向大家介绍Android ExpandableListView展开列表控件使用实例,包括了Android ExpandableListView展开列表控件使用实例的使用技巧和注意事项,需要的朋友参考一下 你是否觉得手机QQ上的好友列表那个控件非常棒? 不是..... 那也没关系,学多一点知识对自己也有益无害。 那么我们就开始吧。 展开型列表控件, 原名ExpandableListView 是普
本文向大家介绍分享Android中ExpandableListView控件使用教程,包括了分享Android中ExpandableListView控件使用教程的使用技巧和注意事项,需要的朋友参考一下 本文采用一个Demo来展示Android中ExpandableListView控件的使用,如如何在组/子ListView中绑定数据源。直接上代码如下: 程序结构图: layout目录下的 main.x
本文向大家介绍Android 进度条使用详解及示例代码,包括了Android 进度条使用详解及示例代码的使用技巧和注意事项,需要的朋友参考一下 在这里,总结一下loading进度条的使用简单总结一下。 一、说起进度条,必须说说条形进度条,经常都会使用到嘛,特别是下载文件进度等等,还有像腾讯QQ安装进度条一样,有个进度总给人良好的用户体验。 先来找图看看,做这个图完成不用图片就可以做到了。 看下xm
本文向大家介绍详解Android中使用Notification实现进度通知栏(示例三),包括了详解Android中使用Notification实现进度通知栏(示例三)的使用技巧和注意事项,需要的朋友参考一下 我们在使用APP的过程中,软件会偶尔提示我们进行版本更新,我们点击确认更新后,会在通知栏显示下载更新进度(已知长度的进度条)以及安装情况(不确定进度条),这就是我们今天要实现的功能。实现效果如