從網上看了個擴展的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;
- }
-
- }
- }
看一下運行在模擬器上的效果: