1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | private boolean DisplayForm() { try { ScrollView sv = new ScrollView(this); final LinearLayout ll = new LinearLayout(this); sv.addView(ll); ll.setOrientation(android.widget.LinearLayout.VERTICAL); // walk through the form elements and dynamically create them, // leveraging the mini library of tools. int i; for (i=0;i<theForm.fields.size();i++) { if (theForm.fields.elementAt(i).getType().equals("text")) { theForm.fields.elementAt(i).obj = new XmlGuiEditBox(this,(theForm.fields.elementAt(i).isRequired() ? "*" : "") + theForm.fields.elementAt(i).getLabel(),""); ll.addView((View) theForm.fields.elementAt(i).obj); } if (theForm.fields.elementAt(i).getType().equals("numeric")) { theForm.fields.elementAt(i).obj = new XmlGuiEditBox(this,(theForm.fields.elementAt(i).isRequired() ? "*" : "") + theForm.fields.elementAt(i).getLabel(),""); ((XmlGuiEditBox)theForm.fields.elementAt(i).obj).makeNumeric(); ll.addView((View) theForm.fields.elementAt(i).obj); } if (theForm.fields.elementAt(i).getType().equals("choice")) { theForm.fields.elementAt(i).obj = new XmlGuiPickOne(this,(theForm.fields.elementAt(i).isRequired() ? "*" : "") + theForm.fields.elementAt(i).getLabel(), theForm.fields.elementAt(i).getOptions()); ll.addView((View) theForm.fields.elementAt(i).obj); } } Button btn = new Button(this); btn.setLayoutParams(new LayoutParams (ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams. WRAP_CONTENT)); ll.addView(btn); btn.setText("Submit"); btn.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { // check if this form is Valid if (!CheckForm()) { AlertDialog.Builder bd = new AlertDialog.Builder(ll.getContext()); AlertDialog ad = bd.create(); ad.setTitle("Error"); ad.setMessage("Please enter all required (*) fields"); ad.show(); return; } if (theForm.getSubmitTo().equals("loopback")) { // just display the results to the screen String formResults = theForm.getFormattedResults(); Log.i(tag,formResults); AlertDialog.Builder bd = new AlertDialog.Builder(ll.getContext()); AlertDialog ad = bd.create(); ad.setTitle("Results"); ad.setMessage(formResults); ad.show(); return; } else { if (!SubmitForm()) { AlertDialog.Builder bd = new AlertDialog.Builder(ll.getContext()); AlertDialog ad = bd.create(); ad.setTitle("Error"); ad.setMessage("Error submitting form"); ad.show(); return; } } } } ); setContentView(sv); setTitle(theForm.getFormName()); return true; } catch (Exception e) { Log.e(tag,"Error Displaying Form"); return false; } } |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |