Android开发教程:扩展的ListView实例

企鹅博客
企鹅博客
企鹅博客
25193
文章
0
评论
2020年8月29日14:16:53 评论 27 views

从网上看了个扩展的Android listView的例子,感觉还蛮炫,自己也试着做了下。

由于比较简单,所有就直接上代码:         

[html]

  1. public class ExtendedListView extends ExpandableListActivity {  
  2.   
  3.     @Override  
  4.     protected void onCreate(Bundle savedInstanceState) {  
  5.         // TODO Auto-generated method stub  
  6.         super.onCreate(savedInstanceState);  
  7.           
  8.         MyExpandableListAdapter adapter=new MyExpandableListAdapter();  
  9.         setListAdapter(adapter);  
  10.           
  11.     }  
  12.     public class MyExpandableListAdapter extends BaseExpandableListAdapter{  
  13.         public String[] groups={"我的好友","大学同学","高中同学"};  
  14.         public String[][] childrens={{"小张","小李","小丽","向明"},{"向明","向明","向明","向明"},{"向明","向明","向明","向明"}};  
  15.         public Object getChild(int groupPosition, int childPosition) {  
  16.             // TODO Auto-generated method stub  
  17.             return childrens[groupPosition][childPosition];  
  18.         }  
  19.   
  20.         public long getChildId(int groupPosition, int childPosition) {  
  21.             // TODO Auto-generated method stub  
  22.             return childPosition;  
  23.         }  
  24.   
  25.         public View getChildView(int groupPosition, int childPosition,  
  26.                 boolean isLastChild, View convertView, ViewGroup parent) {  
  27.             // TODO Auto-generated method stub  
  28.             TextView textView=getGenericView();  
  29.             textView.setText(getChild(groupPosition, childPosition).toString());  
  30.             return textView;  
  31.         }  
  32.         //新建一个TextView  
  33.          public TextView getGenericView() {  
  34.                 // Layout parameters for the ExpandableListView  
  35.                 AbsListView.LayoutParams lp = new AbsListView.LayoutParams(  
  36.                         ViewGroup.LayoutParams.MATCH_PARENT, 64);  
  37.   
  38.                 TextView textView = new TextView(ExtendedListView.this);  
  39.                 textView.setLayoutParams(lp);  
  40.                 // Center the text vertically  
  41.                 textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.LEFT);  
  42.                 // Set the text starting position  
  43.                 textView.setPadding(36, 0, 0, 0);  
  44.                 return textView;  
  45.             }  
  46.               
  47.         public int getChildrenCount(int groupPosition) {  
  48.             // TODO Auto-generated method stub  
  49.             return childrens[groupPosition].length;  
  50.         }  
  51.   
  52.         public Object getGroup(int groupPosition) {  
  53.             // TODO Auto-generated method stub  
  54.             return groups[groupPosition];  
  55.         }  
  56.   
  57.         public int getGroupCount() {  
  58.             // TODO Auto-generated method stub  
  59.             return groups.length;  
  60.         }  
  61.   
  62.         public long getGroupId(int groupPosition) {  
  63.             // TODO Auto-generated method stub  
  64.             return groupPosition;  
  65.         }  
  66.   
  67.         public View getGroupView(int groupPosition, boolean isExpanded,  
  68.                 View convertView, ViewGroup parent) {  
  69.             // TODO Auto-generated method stub  
  70.             TextView textView = getGenericView();  
  71.             textView.setText(getGroup(groupPosition).toString());  
  72.             return textView;  
  73.         }  
  74.   
  75.         public boolean hasStableIds() {  
  76.             // TODO Auto-generated method stub  
  77.             return true;  
  78.         }  
  79.   
  80.         public boolean isChildSelectable(int groupPosition, int childPosition) {  
  81.             // TODO Auto-generated method stub  
  82.             return true;  
  83.         }  
  84.           
  85.     }  
  86. }  

看一下运行在模拟器上的效果:   

继续阅读
企鹅博客
  • 本文由 发表于 2020年8月29日14:16:53
  • 转载请务必保留本文链接:https://www.qieseo.com/173987.html
Android短信应用——短信信息实时获取 Linux编程

Android短信应用——短信信息实时获取

我们知道,只需通过代码就可以读到收件箱中的短信,发件箱中的短信;但是却没办法在短信发来的瞬间获取;如果我们在短信发来的一瞬间能得到相应的信息内容,那么我们就可以依次来展开很多应用了——也就是通过短信去...
LRU缓存设计 Linux编程

LRU缓存设计

缓存的数据结构采用哈希表,key到value的映射。 网上有些资料采用记录数据的使用时刻 实现LRU策略,此处采用双向链表 实现LRU策略。LRU Least Recently Used,MRUMos...
R 语言 简单介绍 Linux编程

R 语言 简单介绍

一.统计分析软件说明  统计分析软件有:SPSS, SAS、R语言,Matlab,S-PLUS,S-Miner。 SPSS: 最简单的,都是菜单操作,不过不利于二次程序开发。 SAS: 需要...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: