欢迎来到天天文库
浏览记录
ID:38491050
大小:381.80 KB
页数:37页
时间:2019-06-13
《Android开发教程之使用 Android 和 XML 构建动态用户界面(三)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Android开发教程之使用Android和XML构建动态用户界面(三)收集用户数据使用元数据清单8.布局逻辑清单9.XmlGuiEditBox类清单10.XmlGuiPickOne类清单11.onClick()处理程序您已经创建了Activity主屏幕布局,现在可以创建用户界面表单来收集数据了。在本例中,您将创建一个RoboticsClubRegistration表单和一个AutoMaintenance调查表单。Android开发教程之收集用户数据这个应用程序取决于Android程序员动态操作用户界面的能力。在本教
2、程前面,您检查了main.xml文件,该文件定义XmlGui类(主Activity)的屏幕布局。如果您总是必须在设计或编译时定义用户界面元素,那么应用程序几乎不可能是它的当前形式。幸运的是,您并不局限于那种方式。DisplayForm()方法负责将这个元数据转换为用户界面元素,以便搜集数据。其代码分为两个主要功能区域:用户界面元素的布局和提交按钮的处理。首先,检查布局逻辑。这段代码负责将XmlGuiForm对象转换为一个真正的屏幕表单。清单8展示了这段代码。Android开发教程之使用元数据privateboolea
3、nDisplayForm(){try{ScrollViewsv=newScrollView(this);finalLinearLayoutll=newLinearLayout(this);sv.addView(ll);ll.setOrientation(android.widget.LinearLayout.VERTICAL);//walkthroughtheformelementsanddynamicallycreatethem,//leveragingtheminilibraryoftools.inti;Andr
4、oid开发教程之清单8.布局逻辑for(i=0;i5、ddView((View)theForm.fields.elementAt(i).obj);}Android开发教程if(theForm.fields.elementAt(i).getType().equals("numeric")){theForm.fields.elementAt(i).obj=newXmlGuiEditBox(this,(theForm.fields.elementAt(i).isRequired()?"*":"")+theForm.fields.elementAt(i).getLabel(),6、"");((XmlGuiEditBox)theForm.fields.elementAt(i).obj).makeNumeric();ll.addView((View)theForm.fields.elementAt(i).obj);}Android开发教程if(theForm.fields.elementAt(i).getType().equals("choice")){theForm.fields.elementAt(i).obj=newXmlGuiPickOne(this,(theForm.fields.ele7、mentAt(i).isRequired()?"*":"")+theForm.fields.elementAt(i).getLabel(),theForm.fields.elementAt(i).getOptions());ll.addView((View)theForm.fields.elementAt(i).obj);}}Android开发教程Buttonbtn=newButton(this);btn.setLayoutParams(newLayoutParams(ViewGroup.LayoutParams.W8、RAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT));ll.addView(btn);btn.setText("Submit");btn.setOnClickListener(newButton.OnClickListener(){publicvoidonClick(Viewv){//checkif
5、ddView((View)theForm.fields.elementAt(i).obj);}Android开发教程if(theForm.fields.elementAt(i).getType().equals("numeric")){theForm.fields.elementAt(i).obj=newXmlGuiEditBox(this,(theForm.fields.elementAt(i).isRequired()?"*":"")+theForm.fields.elementAt(i).getLabel(),
6、"");((XmlGuiEditBox)theForm.fields.elementAt(i).obj).makeNumeric();ll.addView((View)theForm.fields.elementAt(i).obj);}Android开发教程if(theForm.fields.elementAt(i).getType().equals("choice")){theForm.fields.elementAt(i).obj=newXmlGuiPickOne(this,(theForm.fields.ele
7、mentAt(i).isRequired()?"*":"")+theForm.fields.elementAt(i).getLabel(),theForm.fields.elementAt(i).getOptions());ll.addView((View)theForm.fields.elementAt(i).obj);}}Android开发教程Buttonbtn=newButton(this);btn.setLayoutParams(newLayoutParams(ViewGroup.LayoutParams.W
8、RAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT));ll.addView(btn);btn.setText("Submit");btn.setOnClickListener(newButton.OnClickListener(){publicvoidonClick(Viewv){//checkif
此文档下载收益归作者所有