




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ExpandableListView / ExpandableListActivity二者关系 和 ListActivity / ListView 是一样的代码 步骤1. 定义含有ExpandableListView 的布局:main.xmlXml代码 1. 7. 12. 2. 定义数据结构List, ListList 分别用于存放 Group / Children 的StringJava代码 1. Listgroup; 2. ListListchild;List group; ListList child;3. 初始化 List ListList 并插入一些数据Java代码 1. publicvoidinitialData() 2. group=newArrayList(); 3. 4. child=newArrayListList(); 5. 6. addInfo(griffinshi,newStrinman,Jiangsu); 7. addInfo(lancewu,newString1321134,man,Taiwan); 8. addInfo(kandyli,newString12345); 9. 10. 11. publicvoidaddInfo(Stringp,Stringc) 12. group.add(p); 13. 14. Listitem=newArrayList(); 15. 16. for(inti=0;ic.length;i+) 17. item.add(ci); 18. 19. 20. child.add(item); 21. public void initialData() group = new ArrayList(); child = new ArrayListList(); addInfo(griffinshi, new Strinman,Jiangsu); addInfo(lancewu,new String1321134,man,Taiwan); addInfo(kandyli,new String12345); public void addInfo(String p,String c) group.add(p); List item = new ArrayList(); for(int i=0;ic.length;i+) item.add(ci); child.add(item); 3. 定义BaseExpandableListAdapter 并与List ListList 数据相适配Java代码 1. publicclassInfoDetailsAdapterextendsBaseExpandableListAdapter 2. Activityactivity; 3. 4. publicInfoDetailsAdapter(Activitya) 5. activity=a; 6. 7. 8. /childmethodstub 9. 10. Override11. publicObjectgetChild(intgroupPosition,intchildPosition) 12. /TODOAuto-generatedmethodstub 13. returnchild.get(groupPosition).get(childPosition); 14. 15. 16. Override17. publiclonggetChildId(intgroupPosition,intchildPosition) 18. /TODOAuto-generatedmethodstub 19. returnchildPosition; 20. 21. 22. Override23. publicintgetChildrenCount(intgroupPosition) 24. /TODOAuto-generatedmethodstub 25. returnchild.get(groupPosition).size(); 26. 27. 28. Override29. publicViewgetChildView(intgroupPosition,intchildPosition, 30. booleanisLastChild,ViewconvertView,ViewGroupparent) 31. /TODOAuto-generatedmethodstub 32. Stringstring=child.get(groupPosition).get(childPosition); 33. returngetGenericView(string); 34. 35. 36. 37. /groupmethodstub 38. Override39. publicObjectgetGroup(intgroupPosition) 40. /TODOAuto-generatedmethodstub 41. returngroup.get(groupPosition); 42. 43. 44. Override45. publicintgetGroupCount() 46. /TODOAuto-generatedmethodstub 47. returngroup.size(); 48. 49. 50. Override51. publiclonggetGroupId(intgroupPosition) 52. /TODOAuto-generatedmethodstub 53. returngroupPosition; 54. 55. 56. Override57. publicViewgetGroupView(intgroupPosition,booleanisExpanded, 58. ViewconvertView,ViewGroupparent) 59. /TODOAuto-generatedmethodstub 60. Stringstring=group.get(groupPosition); 61. returngetGenericView(string); 62. 63. 64. /ViewstubtocreateGroup/ChildrensView 65. publicTextViewgetGenericView(Strings) 66. /LayoutparametersfortheExpandableListView 67. AbsListView.LayoutParamslp=newAbsListView.LayoutParams( 68. ViewGroup.LayoutParams.FILL_PARENT,64); 69. 70. TextViewtext=newTextView(activity); 71. text.setLayoutParams(lp); 72. /Centerthetextvertically 73. text.setGravity(Gravity.CENTER_VERTICAL|Gravity.LEFT); 74. /Setthetextstartingposition 75. text.setPadding(36,0,0,0); 76. 77. text.setText(s); 78. returntext; 79. 80. 81. 82. 83. Override84. publicbooleanhasStableIds() 85. /TODOAuto-generatedmethodstub 86. returnfalse; 87. 88. 89. Override90. publicbooleanisChildSelectable(intgroupPosition,intchildPosition) 91. /TODOAuto-generatedmethodstub 92. returntrue; 93. 94. 95. 96. public class InfoDetailsAdapter extends BaseExpandableListAdapter Activity activity; public InfoDetailsAdapter(Activity a) activity = a; /child method stub Overridepublic Object getChild(int groupPosition, int childPosition) / TODO Auto-generated method stubreturn child.get(groupPosition).get(childPosition);Overridepublic long getChildId(int groupPosition, int childPosition) / TODO Auto-generated method stubreturn childPosition;Overridepublic int getChildrenCount(int groupPosition) / TODO Auto-generated method stubreturn child.get(groupPosition).size();Overridepublic View getChildView(int groupPosition, int childPosition,boolean isLastChild, View convertView, ViewGroup parent) / TODO Auto-generated method stubString string = child.get(groupPosition).get(childPosition);return getGenericView(string);/group method stubOverridepublic Object getGroup(int groupPosition) / TODO Auto-generated method stubreturn group.get(groupPosition);Overridepublic int getGroupCount() / TODO Auto-generated method stubreturn group.size();Overridepublic long getGroupId(int groupPosition) / TODO Auto-generated method stubreturn groupPosition;Overridepublic View getGroupView(int groupPosition, boolean isExpanded,View convertView, ViewGroup parent) / TODO Auto-generated method stubString string = group.get(groupPosition);return getGenericView(string);/View stub to create Group/Children s Viewpublic TextView getGenericView(String s) / Layout parameters for the ExpandableListView AbsListView.LayoutParams lp = new AbsListView.LayoutParams( ViewGroup.LayoutParams.FILL_PARENT, 64); TextView text = new TextView(activity); text.setLayoutParams(lp); / Center the text vertically text.setGravity(Gravity.CENTER_VERTICAL | Gravity.LEFT); / Set the text starting position text.setPadding(36, 0, 0, 0); text.setText(s); return text; Overridepublic boolean hasStableIds() / TODO Auto-generated method stubreturn false;Overridepublic boolean isChildSelectable(int groupPosition, int childPosition) / TODO Auto-generated method stubreturn true; 4. emulator 运行截图:5. 下面说一下 数据更新 问题 包括:添加数据 删除数据* 定义添加数据界面:add.xmlXml代码 1. 2. 7. 8. 13. 18. 23. 24. 25. 30. 35. 40. 41. 42. 47. 52. 57. 58. 59. 64. 69. 74. 75. 76. 81. 87. 93. 94. 95. * add.xml 里 View 的定义:Xml代码 1. publicvoidcreateDialogAdd() 2. viewAdd=this.getLayoutInflater().inflate(R.layout.add,null); 3. 4. dialogAdd=newDialog(this); 5. dialogAdd.setContentView(viewAdd); 6. dialogAdd.setTitle(输入新成员信息); 7. 8. add_name=(EditText)viewAdd.findViewById(R.id.add_name); 9. add_phone=(EditText)viewAdd.findViewById(R.id.add_phone); 10. add_sex=(EditText)viewAdd.findViewById(R.id.add_sex); 11. add_home=(EditText)viewAdd.findViewById(R.id.add_home); 12. 13. add_ok=(Button)viewAdd.findViewById(R.id.add_ok); 14. add_no=(Button)viewAdd.findViewById(R.id.add_no); 15. 16. add_ok.setOnClickListener(newOnClickListener() 17. publicvoidonClick(Viewv) 18. /TODOAuto-generatedmethodstub 19. Stringdata= 20. add_phone.getText().toString(), 21. add_sex.getText().toString(), 22. add_home.getText().toString() 23. ; 24. 25. addInfo(add_name.getText().toString(),data); 26. 27. dialogAdd.dismiss(); 28. 29. mAdapter.notifyDataSetChanged(); 30. 31. ); 32. 33. add_no.setOnClickListener(newOnClickListener() 34. publicvoidonClick(Viewv) 35. /TODOAuto-generatedmethodstub 36. dialogAdd.dismiss(); 37. 38. ); 39. public void createDialogAdd() viewAdd = this.getLayoutInflater().inflate(R.layout.add, null); dialogAdd = new Dialog(this); dialogAdd.setContentView(viewAdd); dialogAdd.setTitle(输入新成员信息); add_name = (EditText)viewAdd.findViewById(R.id.add_name); add_phone = (EditText)viewAdd.findViewById(R.id.add_phone); add_sex = (EditText)viewAdd.findViewById(R.id.add_sex); add_home =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 办公自动化中的节能减排技术应用案例分享
- 医疗领域中区块链技术的安全透明实践
- 十二指肠先天性狭窄的临床护理
- 企业级应用如何通过区块链确保商业版权的完整性
- 个人提成合同范例
- 医疗信息透明化进程中的区块链技术作用
- 医疗AI引领健康管理新潮流
- 代购入驻合同标准文本
- 区块链赋能投票系统教育领域的创新实践
- 匠心独运教育领域的创新实践与现代审美融合
- 湖北省武汉市2025中考模拟数学试卷(共五套附答案)
- 铁路运输可持续发展路径-深度研究
- 2025年河北承德辰飞供电服务有限公司招聘笔试参考题库含答案解析
- 视觉训练原理与概述吴飞课件
- 深圳高级中学(集团)2025届高三第三次诊断考数学试题+答案
- 上海自由贸易试验区及临港新片区数据出境“负面清单”新规解读
- 公立医院成本核算指导手册
- 2025届高考物理二轮复习:微专题6 电磁场中的空间立体问题和摆线问题-专项训练 【含答案】
- DB3311T 183-2021 急流救援人员培训技术规范
- 第3课 古代印度 课件(共34张)
- 中央企业人工智能应用场景案例白皮书(2024年版)-中央企业人工智能协同创新平台
评论
0/150
提交评论