有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在安卓中使用页面查看器输入文本数据

我正在使用页面查看器。创建页面和滑动工作正常。我在刷卡后面临一个问题,刷卡时输入的数据和返回的前一页数据是清晰的。请就这个问题提出建议

   public class PageIndicatorActivity extends Activity {

    Button previous, next;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ViewPagerAdapter adapter = new ViewPagerAdapter(this);
        final ViewPager myPager = (ViewPager) findViewById(R.id.myfivepanelpager);
        previous = (Button) findViewById(R.id.previous);
        next = (Button) findViewById(R.id.next);
        myPager.setAdapter(adapter);
        myPager.setCurrentItem(0);
        int pageno = myPager.getCurrentItem();
        int total = adapter.getCount();

        System.out.println("Current page" + pageno + "Total" + total);
            previous.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                myPager.setCurrentItem(myPager.getCurrentItem() - 1, true); // getItem(-1) for previous
            }
        });

        next.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                myPager.setCurrentItem(myPager.getCurrentItem() + 1, true); // getItem(+1) for next
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

    enter code here

public class ViewPagerAdapter extends PagerAdapter {

    Activity activity;
    int size=4;
    TextView question;
    // Hashmap for ListView
    String myjsonstring;
    LinearLayout layout,layout1;
    JSONObject jsonobject;
    JSONArray jarray;

    public ViewPagerAdapter(Activity act) {
        // imageArray = imgArra;
        activity = act;
        StringBuffer sb = new StringBuffer();

        BufferedReader br = null;
        try {
            br = new BufferedReader(new InputStreamReader(activity.getAssets()
                    .open("questionBank.json"), "iso-8859-1"), 8);
            String temp;
            while ((temp = br.readLine()) != null) {
                sb.append(temp);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                br.close(); // stop reading
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
       myjsonstring = sb.toString();
        Log.d("Result", myjsonstring);
        try {
            jsonobject = new JSONObject(myjsonstring);
            jarray = (JSONArray) jsonobject.getJSONArray("question");
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
         //size = jarray.length();

//      try {
//          JSONObject jsonobject = new JSONObject(myjsonstring);
//          JSONArray jarray = (JSONArray) jsonobject.getJSONArray("question");
//          for (int i = 0; i < jarray.length(); i++) {
//              question = new TextView(activity);
//              Log.d("Array Length", i + "");
//              JSONObject jb = (JSONObject) jarray.get(i);
//              String pno = jb.getString("pgNO");
//              String qno = jb.getString("QuestionNo");
//              String qtype = jb.getString("type");
//              String qdept = jb.getString("QDept");
//              String qkpi = jb.getString("QKPI");
//              String qrc = jb.getString("QRC");
//              
//              String qdisplay = jb.getString("QDisplayName");
//              String qanswer = jb.getString("Qchildlook");
//              Log.d("Values", qno + "\n" + qtype + "\n" + qdept + "\n" + qkpi
//                      + "\n" + qrc + "\n" + qdisplay + "\n" + qanswer);
//              question.setText(qno + "." + qdisplay);
//              question.setTextSize(20);
//
//              // tmp hashmap for single contact
//              HashMap<String, String> contact = new HashMap<String, String>();
//
//              // adding each child node to HashMap key => value
//              contact.put(TAG_NO, pno);
//              contact.put(TAG_ID, qno);
//              contact.put(TAG_NAME, qtype);
//              contact.put(TAG_EMAIL, qdisplay);
//
//              // adding contact to contact list
//              contactList.add(contact);
//
//          }
//          // size = jarray.length();
//      } catch (JSONException ex) {
//          Log.d("Exception", ex.getMessage());
//
//      }
    }

    public int getCount() {
        // return imageArray.length;
        return size;
    }
    public Object instantiateItem(View collection, int position) {
        layout1 = new LinearLayout(activity);
        layout = new LinearLayout(activity);
        layout.setPadding(40, 30, 0, 30);
        layout.setOrientation(LinearLayout.VERTICAL);
        layout1.setOrientation(LinearLayout.HORIZONTAL);

        try {

                 for(int i=0;i<jarray.length();i++)
                 {           
                     layout.setPadding(30, 70, 20, 70);
                     TextView question=new TextView(activity);
                     Log.d("Array Length",i+"");
                     JSONObject jb=(JSONObject) jarray.get(i);
                     String pno=jb.getString("pgNO");
                     int pagNo=Integer.parseInt(pno);
                     String qno=jb.getString("QuestionNo");
                     String qtype=jb.getString("type");
                     String qdept=jb.getString("QDept");
                     String qkpi=jb.getString("QKPI");
                     String qrc=jb.getString("QRC");
                     String qdisplay=jb.getString("QDisplayName");
                     String qanswer=jb.getString("Qchildlook");
                     Log.d("Values",qno+"\n"+qtype+"\n"+qdept+"\n"+qkpi+"\n"+qrc+"\n"+qdisplay+"\n"+qanswer);
                     if(qanswer.equals("answer"))
                     {
                         if(qtype.equals("checkbox") )
                         {
                             question.setText(qno+"."+qdisplay);
                             question.setTextSize(20);
                             layout.addView(question);

                             JSONArray jarray1=jb.getJSONArray("Answerword");
                             for(int j=0;j<jarray1.length();j++)
                             {
                                 layout.setPadding(20, 40, 0, 20);
                                 JSONObject jb1=(JSONObject) jarray1.get(j);
                                 CheckBox checkBox=new CheckBox(activity);
                                 checkBox.setText(jb1.getString("option"));
                                 checkBox.setMaxHeight(5);
                                 checkBox.setTextColor(Color.BLACK);
                                 layout.addView(checkBox);
                                 Log.d("Values",jb1.getString("option")+""+jb1.getString("id"));
                             }                       
                         }  
                         else
                         if(qtype.equals("textArea") )  
                         {
                             question.setText(qno+"."+qdisplay);
                             question.setTextSize(20);
                             layout.addView(question);

                            EditText editText=new EditText(activity);
                            editText.setHint("Enter your Comments");
                            editText.setMinHeight(35);
                            InputFilter[] filterArray = new InputFilter[1];
                            filterArray[0] = new InputFilter.LengthFilter(15);
                            editText.setFilters(filterArray);
                            editText.setFilters(new InputFilter[] { new  InputFilter.LengthFilter(30) });
                            editText.setHintTextColor(Color.MAGENTA);
                            layout.addView(editText);
                         }
                         else
                            if(qtype.equals("radio") )
                            {
                             question.setText(qno+"."+qdisplay);
                             question.setTextSize(20);
                             layout.addView(question);

                                LinearLayout hlLayout=new LinearLayout(activity);
                                hlLayout.setOrientation(LinearLayout.HORIZONTAL);
                                hlLayout.setPadding(35, 10, 0, 0);
                                JSONObject subObj = jb.getJSONObject("QOptionMatrix");
                                JSONObject subObj1=subObj.getJSONObject("QOptionHeader");
                                String header1=subObj1.getString("HdrOption1");
                                String header2=subObj1.getString("HdrOption2");
                                String header3=subObj1.getString("HdrOption3");
                                String header4=subObj1.getString("HdrOption4");
                                TextView text=new TextView(activity);
                                text.setText(header1+"\t\t"+header2+"\t\t"+header3+"\t\t"+header4);
                                //hlLayout.setPadding(60,10, 10, 0);
                                hlLayout.addView(text);

//                              JSONObject subObj2=subObj.getJSONObject("QOptions");
//                              String option1=subObj2.getString("Option1");
//                              String option2=subObj2.getString("Option2");
//                              String option3=subObj2.getString("Option3");
//                              String option4=subObj2.getString("Option4");


                                System.out.println(subObj);
                                System.out.println(header1+"\t"+header2+"\t"+header3+"\t"+header4);


                                JSONArray jsonArray1=subObj.getJSONArray("QOptions1");  
                                JSONArray jsonArray2=subObj.getJSONArray("QOptions2");
                                JSONArray jsonArray3=subObj.getJSONArray("QOptions3");

                                layout.addView(hlLayout);
                                radioMethodH(jsonArray1);
                                radioMethodH(jsonArray2);
                                radioMethodH(jsonArray3);

                            }   
                         JSONObject qvalidation = jb.getJSONObject("QValidation");
                         String nameValue = qvalidation.getString("QMessages");
                         Log.d("Message",nameValue);             
                    }
                     else
                     {
                         {
                         question.setText(qno+"."+qdisplay);
                         question.setTextSize(20);
                         layout.addView(question);

                         JSONObject child = jb.getJSONObject("child");
                         String questionno = child.getString("QuestionNo");
                         String quesdisplay=child.getString("QDisplayName");
                          Log.d("Child",questionno+"\n"+quesdisplay);
                         TextView childtext=new TextView(activity);
                         childtext.setText("\t\t"+questionno+"."+quesdisplay);
                         layout.addView(childtext);

                         JSONObject firstchild=jb.getJSONObject("firstchild");
                         String firstchildq=firstchild.getString("QuestionNo");
                         String firstchildd=firstchild.getString("QDisplayName");
                         String firstchildtype=firstchild.getString("firstchildtype");
                         String firstorientation=firstchild.getString("OptionDisplayType");
                         TextView firstchid=new TextView(activity);
                         firstchid.setText("\t\t\t"+firstchildq+"."+firstchildd);
                         System.out.println(firstchildtype+"\t"+firstorientation);
                         layout.addView(firstchid);
                         if(firstchildtype.equals("radio"))
                         {
                             if(firstorientation.equals("H"))
                             {
                               JSONArray jarray1=jb.getJSONArray("firstchildAnswerword");
                               radioMethodH(jarray1);
                             }
                             else
                             {
                                 JSONArray jarray1=jb.getJSONArray("firstchildAnswerword");
                                radioMethodV(jarray1);
                             }
                         } 
                         JSONObject secondchild=jb.getJSONObject("secondchild");
                         String secondchildq=secondchild.getString("QuestionNo");
                         String secondchildd=secondchild.getString("QDisplayName");
                         String secondchildtype=secondchild.getString("secondchildtype");
                         String secondorientation=secondchild.getString("OptionDisplayType");
                         TextView secondchid=new TextView(activity);
                        secondchid.setText("\t\t\t"+secondchildq+"."+secondchildd);
                        System.out.println(secondchildtype+"\t"+secondorientation);

                        layout.addView(secondchid);

                         if(secondchildtype.equals("radio"))
                         {
                             if(secondorientation.equals("H"))
                             {

                                 JSONArray jarray2=jb.getJSONArray("secondchildAnswerword");
                                 radioMethodH(jarray2);  

                             }
                             else
                             {

                                 JSONArray jarray2=jb.getJSONArray("secondchildAnswerword");
                                 radioMethodV(jarray2);  
                             }
                         } 
                     }
                   }
                }
        } catch (JSONException ex) {
            Log.d("Exception", ex.getMessage());

        }

//      for (HashMap<String, String> conString : contactList) {
//          Log.d("hsjahfld", conString.get(TAG_NAME)+"");
//          Log.d("page No", conString.get(TAG_NO)+"");
//          Log.d("Position", position + "");
//
//          int pageno =Integer.parseInt(conString.get(TAG_NO));
//
//          Log.d("page No1", pageno + "");
//
//          if (conString.get(TAG_NAME).equals("textArea")
//                  && pageno - 1 == position) {
//              TextView text = new TextView(activity);
//              EditText editText = new EditText(activity);
//              text.setText(conString.get(TAG_EMAIL)+"");
//              layout.addView(text);
//              editText.setHint("Enetr your comments");
//              layout.addView(editText);
//
//          } else if (conString.get(TAG_NAME).equals("checkbox")
//                  && pageno - 1 == position) {
//              TextView text = new TextView(activity);
//              text.setText(conString.get(TAG_EMAIL)+"");
//              layout.addView(text);
//
//              CheckBox checkBox = new CheckBox(activity);
//              checkBox.setMaxHeight(5);
//              layout.addView(checkBox);
//          }
//
//          else if (conString.get(TAG_NAME).equals("radio")
//                  && pageno - 1 == position) {
//              TextView text = new TextView(activity);
//              text.setText(conString.get(TAG_EMAIL)+"");
//              layout.addView(text);
//
//              RadioGroup radioGroup = new RadioGroup(activity);
//              radioGroup.setOrientation(RadioGroup.HORIZONTAL);
//              for (int i = 0; i < 3; i++) {
//                  RadioButton radioButton = new RadioButton(activity);
//                  radioGroup.addView(radioButton);
//              }
//              layout.addView(radioGroup);
//          }
//
//          else if (conString.get(TAG_NAME).equals("seekbar")
//                  && pageno - 1 == position) {
//              TextView text = new TextView(activity);
//              text.setText(conString.get(TAG_EMAIL)+"");
//              layout.addView(text);
//
//              LinearLayout liLayout = new LinearLayout(activity);
//              liLayout.setOrientation(LinearLayout.HORIZONTAL);
//
//              for (int i = 0; i <= 10; i++) {
//
//                  Button button = new Button(activity);
//                  if (i == 0 || i == 1 || i == 2 || i == 3 || i == 4
//                          || i == 5 || i == 6) {
//                      button.setMaxHeight(35);
//                      button.setMinWidth(2);
//                      button.setText(i + "");
//                      button.setTextColor(Color.BLACK);
//                      button.setBackgroundColor(Color.RED);
//                      button.setMinimumWidth(2);
//                      liLayout.addView(button);
//                  } else if (i == 7 || i == 8) {
//                      button.setMaxHeight(35);
//                      button.setMinWidth(2);
//                      button.setText(i + "");
//                      button.setBackgroundColor(Color.YELLOW);
//                      button.setMinimumWidth(2);
//                      button.setTextColor(Color.BLACK);
//                      liLayout.addView(button);
//                  } else if (i == 9 || i == 10) {
//                      button.setMaxHeight(35);
//                      button.setMinWidth(2);
//                      button.setText(i + "");
//                      button.setTextColor(Color.BLACK);
//                      button.setBackgroundColor(Color.GREEN);
//                      button.setMinimumWidth(2);
//                      liLayout.addView(button);
//                  }
//              }
//              layout.addView(liLayout);
//
//          }
//      }

        ((ViewPager) collection).addView(layout);
        return layout;
    }

    @Override
    public void destroyItem(View arg0, int arg1, Object arg2) {
        ((ViewPager) arg0).removeView((View) arg2);
    }

    @Override
    public boolean isViewFromObject(View arg0, Object arg1) {
        return arg0 == ((View) arg1);
    }

    @Override
    public Parcelable saveState() {
        return null;
    }
      public void radioMethodH(JSONArray aryy)
       {
           RadioGroup radioGroup=new RadioGroup(activity);
           radioGroup.setOrientation(RadioGroup.HORIZONTAL);
           for(int i =0;i<aryy.length();i++)
           {
            try {

                JSONObject jb=(JSONObject) aryy.get(i);
                radioGroup.setPadding(25,10, 10, 0);
                RadioButton radioButton=new RadioButton(activity);
                radioButton.setText(jb.getString("option"));
                radioButton.setTextColor(Color.BLACK);
                if(jb.getString("option").equals(""))
                {
                    radioButton.setVisibility(RadioButton.INVISIBLE);
                }
                else
                {
                radioGroup.addView(radioButton);
                }

            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }   
           }

           layout.addView(radioGroup);

       }

      public void radioMethodV(JSONArray aryy)
       {
           RadioGroup radioGroup=new RadioGroup(activity);
           radioGroup.setOrientation(RadioGroup.VERTICAL);
           for(int i =0;i<aryy.length();i++)
           {
            try {

                JSONObject jb=(JSONObject) aryy.get(i);
                radioGroup.setPadding(25,10, 10, 0);
                RadioButton radioButton=new RadioButton(activity);
                radioButton.setText(jb.getString("option"));
                radioButton.setTextColor(Color.BLACK);
                if(jb.getString("option").equals(""))
                {
                    radioButton.setVisibility(RadioButton.INVISIBLE);
                }
                else
                {
                radioGroup.addView(radioButton);
                }
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }   
           }

           layout.addView(radioGroup);

       }

}

共 (0) 个答案