Android之ExpandableListView控件使用
2015-12-19 15:11
543 查看
创建工程Android_expandableListView中添加控件ExpandableListView
运行效果图如下
去掉箭头,加上
<RelativeLayout 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" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.android_expandablelistview.MainActivity" > <ExpandableListView android:id="@+id/expandableListView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" > </ExpandableListView> </RelativeLayout>
package com.example.android_expandablelistview; import java.util.ArrayList; import java.util.List; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.BaseExpandableListAdapter; import android.widget.ExpandableListView; import android.widget.TextView; public class MainActivity extends ActionBarActivity { private ExpandableListView listView; private MyAdapter adapter; private List<String> group;//组 private List<List<String>> child;//子 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView=(ExpandableListView) this.findViewById(R.id.expandableListView1); adapter=new MyAdapter(); initData(); listView.setAdapter(adapter); listView.setGroupIndicator(null);//把箭头去掉 } //初始化数据,组和子元素实例化 public void initData(){ group=new ArrayList<String>(); child=new ArrayList<List<String>>(); addInfo("广东",new String[]{"深圳","珠海","广州"}); addInfo("湖北",new String[]{"武汉","孝感","黄冈"}); addInfo("河南",new String[]{"郑州","洛阳","商丘"}); } public void addInfo(String g,String[] c){ group.add(g);//添加组 List<String> list = new ArrayList<String>(); for(int i=0;i<c.length;i++){ list.add(c[i]); } child.add(list); } class MyAdapter extends BaseExpandableListAdapter{ @Override public int getGroupCount() { // TODO Auto-generated method stub return group.size(); } @Override public int getChildrenCount(int groupPosition) { // TODO Auto-generated method stub return child.size(); } @Override public Object getGroup(int groupPosition) { // TODO Auto-generated method stub return group.get(groupPosition); } @Override public Object getChild(int groupPosition, int childPosition) { // TODO Auto-generated method stub return child.get(groupPosition).get(childPosition); } @Override public long getGroupId(int groupPosition) { // TODO Auto-generated method stub return groupPosition; } @Override public long getChildId(int groupPosition, int childPosition) { // TODO Auto-generated method stub return childPosition; } @Override public boolean hasStableIds() { // TODO Auto-generated method stub return false; } @Override public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { // TODO Auto-generated method stub TextView textView = null; if(convertView==null){ textView = new TextView(MainActivity.this); }else{ textView = (TextView)convertView; } textView.setText(group.get(groupPosition)); textView.setTextSize(30); textView.setPadding(36, 10, 0, 10); return textView; } @Override public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { // TODO Auto-generated method stub TextView textView = null; if(convertView==null){ textView = new TextView(MainActivity.this); }else{ textView = (TextView)convertView; } textView.setText(child.get(groupPosition).get(childPosition)); textView.setTextSize(20); textView.setPadding(72, 10, 0, 10); return textView; } @Override public boolean isChildSelectable(int groupPosition, int childPosition) { // TODO Auto-generated method stub return true; } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }
运行效果图如下
去掉箭头,加上
listView.setGroupIndicator(null);//把箭头去掉
相关文章推荐
- [share]How to Become a Lazy but Productive Android Developer
- Android初识-Activity用法示例
- Android线程与消息处理
- xamarin for android 生成时“java.exe已退出 代码为1”
- android中的EventBus
- Android开发——listview中嵌套checkBox复选框实现单选、全选删除列表内容
- Android静默安装实现方案,仿360手机助手秒装和智能安装功能 .
- 各开发者平台需要的android应用签名
- android-Motion Sensors
- Android高效率编码-第三方SDK详解系列(一)——百度地图,绘制,覆盖物,导航,定位,细腻分解!
- Android:自定义View 初步之旅随记(一)
- Android:解决ScrollView 和 ListView 的冲突
- Android:百度地图随记(二)
- Android:百度地图随记一
- FAQs on Android
- FragmentTabHost使用总结
- Android设计模式之观察者模式
- Android设计模式之观察者模式
- Android:fragment书上例子详细介绍
- android sdk content loader 0%不动