2013-05-10 47 views
0

我的Android應用程序中有一個活動類,在處理完一些數據之後,將數據發送到另一個返回ArrayList的類中的另一個方法。我想要做的是迭代通過該ArrayList和其中的每一個文本,我想更新我的界面中的TextView標籤。然而,只要用戶按下屏幕上的「是」按鈕,就應該這樣做。 (即無論何時用戶按下'是'按鈕,循環將前進到ArrayList的下一個元素,並在TextView標籤中更新其值。以下是我迄今爲止:Android - 通過按鈕控制循環的流程

try { 
     sentenceGenerator = new SentenceGenerator(); 
     ArrayList<ArrayList<String>> states = stateGenerator 
       .getPossibleStates(resultOutput, result, result); 
     for (ArrayList<String> state : states) { 
      viewPoint = state.get(0); 
      subject = state.get(1); 
      object = state.get(2); 
      subjectInfo = new ObjectReference(); 
      if (resultOutput.equals("Sliema")) { 
       Sliema sliema = new Sliema(); 
       subjectInfo = sliema.getInfo(viewPoint, object, subject); 
      } 
      try { 
       s = sentenceGenerator.generateSentence("start", "middle", 
         "end", resultOutput, viewPoint, object, subject, 
         subjectInfo.type, subjectInfo.name, 
         subjectInfo.properties, false); 
       instructionTextView = (TextView) findViewById(R.id.instructionTextView); 
       mHandler = new Handler(); 
       instructionTextView 
         .setText("Press 'Yes' to start Orientation procedure"); 
       Button confirmButton = (Button) findViewById(R.id.confirmButton); 
       Button declineButton = (Button) findViewById(R.id.declineButton); 

       confirmButton 
         .setOnClickListener(new View.OnClickListener() { 
          public void onClick(View v) { 
           mHandler.post(mUpdate); 
          } 
         }); 
       declineButton 
         .setOnClickListener(new View.OnClickListener() { 
          public void onClick(View v) { 
           // 
          } 
         }); 
       Log.d("INSTRUCTIONS", s); 
      } catch (Exception e) { 
      } 
     } 
    } catch (ClassNotFoundException e) { 
    } 

,這是更新處理程序:

private Runnable mUpdate = new Runnable() { 
    public void run() { 

     instructionTextView.setText(s); 
     // mHandler.postDelayed(this, 1000); 
     confirmPressed = true; 
     // i++; 
    } 
}; 

有什麼建議?提前致謝!

+0

[求助] - 我採取了另一種方法,它的工作。我在那裏天真地思考了一會兒! – k0rtin 2013-05-10 10:34:24

回答

0

嘗試在要終止循環的buttonclickListener中添加break;

+0

由於循環上下文似乎在buttonclickListener中丟失,所以無法工作。此外,我不想終止循環;我希望它保持,直到按下按鈕,然後加載下一個元素併爲該字符串執行sentenceGeneration。不管怎麼說,還是要謝謝你! – k0rtin 2013-05-10 09:28:57