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

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

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

[html]

public class ExtendedListView extends ExpandableListActivity {          @Override       protected void onCreate(Bundle savedInstanceState) {           // TODO Auto-generated method stub           super.onCreate(savedInstanceState);                      MyExpandableListAdapter adapter=new MyExpandableListAdapter();           setListAdapter(adapter);                  }       public class MyExpandableListAdapter extends BaseExpandableListAdapter{           public String[] groups={"我的好友","大学同学","高中同学"};           public String[][] childrens={{"小张","小李","小丽","向明"},{"向明","向明","向明","向明"},{"向明","向明","向明","向明"}};           public Object getChild(int groupPosition, int childPosition) {               // TODO Auto-generated method stub               return childrens[groupPosition][childPosition];           }              public long getChildId(int groupPosition, int childPosition) {               // TODO Auto-generated method stub               return childPosition;           }              public View getChildView(int groupPosition, int childPosition,                   boolean isLastChild, View convertView, ViewGroup parent) {               // TODO Auto-generated method stub               TextView textView=getGenericView();               textView.setText(getChild(groupPosition, childPosition).toString());               return textView;           }           //新建一个TextView            public TextView getGenericView() {                   // Layout parameters for the ExpandableListView                   AbsListView.LayoutParams lp = new AbsListView.LayoutParams(                           ViewGroup.LayoutParams.MATCH_PARENT, 64);                      TextView textView = new TextView(ExtendedListView.this);                   textView.setLayoutParams(lp);                   // Center the text vertically                   textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.LEFT);                   // Set the text starting position                   textView.setPadding(36, 0, 0, 0);                   return textView;               }                          public int getChildrenCount(int groupPosition) {               // TODO Auto-generated method stub               return childrens[groupPosition].length;           }              public Object getGroup(int groupPosition) {               // TODO Auto-generated method stub               return groups[groupPosition];           }              public int getGroupCount() {               // TODO Auto-generated method stub               return groups.length;           }              public long getGroupId(int groupPosition) {               // TODO Auto-generated method stub               return groupPosition;           }              public View getGroupView(int groupPosition, boolean isExpanded,                   View convertView, ViewGroup parent) {               // TODO Auto-generated method stub               TextView textView = getGenericView();               textView.setText(getGroup(groupPosition).toString());               return textView;           }              public boolean hasStableIds() {               // TODO Auto-generated method stub               return true;           }              public boolean isChildSelectable(int groupPosition, int childPosition) {               // TODO Auto-generated method stub               return true;           }                  }   }  

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

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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyzxdy.html