Android的 ListView 擴展實例
今天從網上看了個擴展的listView的例子,感覺還蠻炫,自己也試著做了下。
由于比較簡單,所有就直接上代碼:
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;
}
}
}看一下運行在模擬器上的效果:

本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!