0

質問に答えるために使用するすべての editText が空かどうかを確認するのに助けが必要です。すべての答えをリストに入れました。質問の最後にある送信ボタンをクリックすると、すべての回答を送信できます。しかし、私が持っているすべての編集テキストを確認する方法がわかりません。
質問の合計に応じて編集テキストが表示されます。
例: 5 つの質問があり、質問 1 ページ 1 の質問を表示します。次のボタンをクリックすると、次のページに質問番号 2 が空白の edittext で表示されます。質問が完了するまではそのようなものです。私が欲しいのは、送信/OKをクリックすると、すべての編集テキストがチェックされます。本当に助けが必要です。助けてください..ありがとう

String[] answerCollection;
String[] questionCollection;
private int questionPos = 0;
private EditText jawaban;

final Button kirim = (Button) findViewById(R.id.kirim);
                kirim.setOnClickListener(new OnClickListener() {
                    
                    public void onClick(View v) {
                        // TODO Auto-generated method stub
                        if(v == kirim){
                            AlertDialog.Builder builder = new Builder(TugasSoal.this);
                            builder.setMessage("Apakah Anda yakin akan mengirim jawaban Anda? Anda tidak dapat mengakses kembali tugas yang sudah dikirim");
                            builder.setTitle("Confirmation Dialog");
    
                            builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
                                public void onClick(DialogInterface dialog, int which) {
                                                        // do something after confirm
                                    
                                    String finalAnswer = "";
                                    answerCollection[questionPos] = jawaban.getText().toString();
                                    
                                    for(int i = 0;i <answerCollection.length;i++){
                                        finalAnswer += (i+1) + "." + answerCollection[i] + "\n\n"; 
                                    }
                                    
                                    ArrayList<NameValuePair> postParameters = new ArrayList<NameValuePair>();
                                    postParameters.add(new BasicNameValuePair("jawab", finalAnswer));
    
                                    
                                    String response = null;
    
                                    try {
                                        linkurl = new Koneksi(TugasSoal.this);
                                        SERVER_URL = linkurl.getUrl();
                                        SERVER_URL += "/mobile/tugasKirimTeks.php?idtgs="+param2+"&idu="+param3;
                                       response = CourseHttpClient.executeHttpPost(SERVER_URL, postParameters);
    
                                       String res = response.toString();
    
                                       res = res.trim();
    
                                       res = res.replaceAll("\\s+","");
                                       if(res.equals("1")){
                                           createDialog("Selamat", "Jawaban Anda Berhasil Dikirim");
                                           finish();
                                       }else
                                       {
                                           createDialog("Maaf", "Jawaban Anda Gagal Terkirim");
                                       }
                                    }
    
                                    catch (Exception e) {
    
                                       jawaban.setText(e.toString());
    
                                    }
                                }
                                
                            }); 
    
                            builder.setNegativeButton("CANCEL", new DialogInterface.OnClickListener() {
                                public void onClick(DialogInterface dialog, int which) {
                                    dialog.cancel();
                                }
                            }); 
    
                            builder.create().show();    
                        }
                     }
                });

次と前の部分

prev.setOnClickListener(new OnClickListener() {
                
                @Override
                public void onClick(View v) {
                    answerCollection[questionPos] = jawaban.getText().toString();
                    
                    if(questionPos > 0){
                        questionPos -=1;
                        RefreshQuestionandAnswer();
//                      next.setEnabled(true);
//                      if(questionPos == 0)
//                          back.setEnabled(false);
                    }
                }
            });
            
            next.setOnClickListener(new OnClickListener() {
                
                @Override
                public void onClick(View v) {
                    answerCollection[questionPos] = jawaban.getText().toString();
                    
                    if(questionPos < questionCollection.length - 1) {
                        questionPos +=1;
                        RefreshQuestionandAnswer();
//                      prev.setEnabled(true);
//                      if(questionPos == questionCollection.length - 1)
//                          next.setEnabled(false);
                    }
                }
            });

質問部分を表示

linkurl = new Koneksi(this);
            SERVER_URL = linkurl.getUrl();
            SERVER_URL += "/mobile/TugasSoal.php?idc="+param1+"&ida="+param2+"&idu="+param3;

            HttpClient httpClient = new DefaultHttpClient();
            HttpPost httpPost = new HttpPost(SERVER_URL);
            
            //parameter
            ArrayList<NameValuePair> param = new ArrayList<NameValuePair>();{
            try {
               //add parameter
                httpPost.setEntity(new UrlEncodedFormEntity(param));
               
              HttpResponse httpRespose = httpClient.execute(httpPost);
              HttpEntity httpEntity = httpRespose.getEntity();
              
              //read content
              InputStream in = httpEntity.getContent();
              BufferedReader read = new BufferedReader(new InputStreamReader(in));
              
              String content = "";
              String line = "";

              while((line = read.readLine())!=null){
                 content += line;
              }
              
              Log.d("ADBUG", "content: "+content);
              
              
              //json
              if(!content.equals("null")){
              
                 try {
                    JSONArray jArr = new JSONArray(content);
                    String namaTugas="";
                    String detailTugas="";

                    JSONObject jsonObj = jArr.getJSONObject(0);
                    namaTugas = jsonObj.getString("name");
                    detailTugas = jsonObj.getString("description");
                    
                    questionCollection = detailTugas.split("\n");
                    answerCollection = new String[questionCollection.length];
                    judulTugas.setText(namaTugas);
                    
                    RefreshQuestionandAnswer();
                   
                 } catch (JSONException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                 }
                 
              }else{
                 Toast.makeText(this, "Error", Toast.LENGTH_LONG).show();
              }
              
           } catch (ClientProtocolException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
           } catch (IOException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
           }
       
            }
            
        }
        
        private void RefreshQuestionandAnswer()
        {
            jawaban.setText(answerCollection[questionPos]);
            isiTugas.setText(questionCollection[questionPos]);
        }

質問に答えるために最初にメニューを開いたとき 質問に答えるために最初にメニューを開いたとき

ここに画像の説明を入力

次へボタンをクリックした後

4

2 に答える 2

0

「前の質問の回答を表示する」部分の場合:
ArrayList を次のようにします。

    List answerList = new ArrayList(); 


    next.setOnClickListener(new OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        answerCollection[questionPos] = jawaban.getText().toString();

                        if(questionPos < questionCollection.length - 1) {
                            if (answerCollection.get(questionPos).toString().equals("")){
                                answerList.add(questionPos, "0");//You check if the user has enetered an answer, if yes, it put a 1 into the array, if not, a 0
                            } else {
                                answerList.add(questionPos, "1");
                            }
                            questionPos +=1;
                            RefreshQuestionandAnswer();
    //                      prev.setEnabled(true);
    //                      if(questionPos == questionCollection.length - 1)
    //                      next.setEnabled(false);
                        }
                    }
                });

次に、送信ボタンで、ゼロの Arraylist を確認します。

for (int i = 0; i < answerList.size(); i++){
    if (answerList.get(i).toString().equals("0")){
        //no answer is given to question number i      
    }
}

このようなもの

于 2013-07-03T08:20:36.703 に答える