安卓学习-activity-ExpandableListActivity
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了安卓学习-activity-ExpandableListActivity,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含6476字,纯文字阅读大概需要10分钟。
内容图文
![安卓学习-activity-ExpandableListActivity](/upload/InfoBanner/zyjiaocheng/1135/2967c11db4214f2c98d688b616d3db7e.jpg)
ExpandableListActivity
将所有应用程序按a-z分组,展开并点击启动程序
group.xml
< RelativeLayout xmlns:android ="http://schemas.android.com/apk/res/android" android:layout_width ="fill_parent" android:layout_height ="fill_parent" android:padding ="5dp" > < TextView android:id ="@+id/textView1" android:layout_width ="wrap_content" android:layout_height ="wrap_content" android:layout_alignParentLeft ="true" android:layout_alignParentTop ="true" android:text ="组" android:textAppearance ="?android:attr/textAppearanceLarge" /> < TextView android:id ="@+id/textView2" android:layout_width ="wrap_content" android:layout_height ="wrap_content" android:layout_alignParentTop ="true" android:layout_marginLeft ="16dp" android:layout_toRightOf ="@+id/textView1" android:text ="A" android:textAppearance ="?android:attr/textAppearanceLarge" /> < TextView android:id ="@+id/textView3" android:layout_width ="wrap_content" android:layout_height ="wrap_content" android:layout_alignParentTop ="true" android:layout_marginLeft ="17dp" android:layout_toRightOf ="@+id/textView2" android:text ="共" android:textAppearance ="?android:attr/textAppearanceLarge" /> < TextView android:id ="@+id/textView4" android:layout_width ="wrap_content" android:layout_height ="wrap_content" android:layout_alignParentTop ="true" android:layout_toRightOf ="@+id/textView3" android:text ="0" android:textAppearance ="?android:attr/textAppearanceLarge" /> < TextView android:id ="@+id/textView5" android:layout_width ="wrap_content" android:layout_height ="wrap_content" android:layout_alignParentTop ="true" android:layout_toRightOf ="@+id/textView4" android:text ="项" android:textAppearance ="?android:attr/textAppearanceLarge" /> </ RelativeLayout >
item.xml
< RelativeLayout xmlns:android ="http://schemas.android.com/apk/res/android" android:layout_width ="fill_parent" android:layout_height ="fill_parent" android:paddingTop ="20dp" android:paddingBottom ="20dp" > < ImageView android:id ="@+id/imageView1" android:layout_width ="wrap_content" android:layout_height ="wrap_content" android:layout_alignParentLeft ="true" android:layout_alignParentTop ="true" android:paddingRight ="20dp" android:src ="@drawable/ic_launcher" /> < TextView android:id ="@+id/textView1" android:layout_width ="wrap_content" android:layout_height ="wrap_content" android:layout_alignParentTop ="true" android:layout_toRightOf ="@+id/imageView1" android:text ="Large Text" android:textAppearance ="?android:attr/textAppearanceLarge" /> < TextView android:id ="@+id/textView2" android:layout_width ="wrap_content" android:layout_height ="wrap_content" android:layout_alignLeft ="@+id/textView1" android:layout_below ="@+id/textView1" android:text ="Small Text" android:textAppearance ="?android:attr/textAppearanceSmall" /> </ RelativeLayout >
MainActivity.java
public class MainActivity extends ExpandableListActivity { private List<String> data=new ArrayList<String>(); private List<List<Map<String,Object>>> data_c=new ArrayList<List<Map<String,Object>>>(); protectedvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //设置26个字母for(int k=97;k<97+26;k++){ String zm=(char)k+""; data.add(zm); //获取应用程序按26个字母分组 List<PackageInfo> pags = getPackageManager().getInstalledPackages(0); List<Map<String, Object>> data1 = new ArrayList<Map<String, Object>>(); for (int i = 0; i < pags.size(); i++) { PackageInfo pag = pags.get(i); if(pag.packageName.substring(pag.packageName.lastIndexOf(".")+1).substring(0,1).equals(zm)){ Map<String, Object> map = new HashMap<String, Object>(); // 程序名字 map.put("name",pag.applicationInfo.loadLabel(getPackageManager()).toString()); // 图标 map.put("drawable",pag.applicationInfo.loadIcon(getPackageManager())); map.put("packageName", pag.packageName); data1.add(map); } } data_c.add(data1); } BaseExpandableListAdapter adapter=new BaseExpandableListAdapter(){ @Override publicint getGroupCount() { // TODO 自动生成的方法存根return data.size(); } @Override publicint getChildrenCount(int groupPosition) { // TODO 自动生成的方法存根return data_c.get(groupPosition).size(); } @Override public Object getGroup(int groupPosition) { // TODO 自动生成的方法存根returnnull; } @Override public Object getChild(int groupPosition, int childPosition) { // TODO 自动生成的方法存根returnnull; } @Override publiclong getGroupId(int groupPosition) { // TODO 自动生成的方法存根return 0; } @Override publiclong getChildId(int groupPosition, int childPosition) { // TODO 自动生成的方法存根return 0; } @Override publicboolean hasStableIds() { // TODO 自动生成的方法存根returnfalse; } @Override public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { if(convertView==null){ convertView=LayoutInflater.from(MainActivity.this).inflate(R.layout.group, null); } TextView tv1=(TextView)convertView.findViewById(R.id.textView2); TextView tv3=(TextView)convertView.findViewById(R.id.textView4); tv1.setText(data.get(groupPosition)); tv3.setText(data_c.get(groupPosition).size()+""); return convertView; } @Override public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { if(convertView==null){ convertView=LayoutInflater.from(MainActivity.this).inflate(R.layout.item, null); } ImageView iv1=(ImageView)convertView.findViewById(R.id.imageView1); TextView tv2=(TextView)convertView.findViewById(R.id.textView1); TextView tv4=(TextView)convertView.findViewById(R.id.textView2); tv2.setText(data_c.get(groupPosition).get(childPosition).get("name")+""); tv4.setText(data_c.get(groupPosition).get(childPosition).get("packageName")+""); iv1.setImageDrawable((Drawable)data_c.get(groupPosition).get(childPosition).get("drawable")); return convertView; } @Override publicboolean isChildSelectable(int groupPosition, int childPosition) { // TODO 自动生成的方法存根returntrue; } }; setListAdapter(adapter); //添加单击事件 getExpandableListView().setOnChildClickListener(new OnChildClickListener() { @Override publicboolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) { Intent intent = MainActivity.this.getPackageManager().getLaunchIntentForPackage( data_c.get(groupPosition).get(childPosition).get("packageName")+""); startActivity(intent); returntrue; } }); } }
原文:http://www.cnblogs.com/weijj/p/4137917.html
内容总结
以上是互联网集市为您收集整理的安卓学习-activity-ExpandableListActivity全部内容,希望文章能够帮你解决安卓学习-activity-ExpandableListActivity所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。