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