2017-04-19 29 views
-1

テキストウインドウで変化しているメッセージを印刷しようとしました。 私がこれをしたときの問題は、アプリケーションが結果を格納するためにループの終了を待っていることです。Androidアプリの動的テキストビュー

public class Testloop extends AppCompatActivity { 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_testloop); 
     String message = "test : "; 
     for(int x = 1; x < 20; x = x + 1) { 
      message +=x; 
      int timeInMills = 1000; // time in ms 
      SystemClock.sleep(timeInMills); 
      TextView textView = (TextView) findViewById(R.id.txte); 
      textView.setText(message); 
     } 

助けがあれば助かります。

答えて

0

onCreateメソッドはこれには適していません。アクティビティが表示される前にループが終了し、最後に設定した文字列だけが表示されます。

private Handler handler = new Handler(); 
handler.postDelayed(runnable, 100); 

これは実行可能ファイルが100msで実行されるように指示します。

private Runnable runnable = new Runnable() { 
    @Override 
    public void run() { 
     //Set your text here 
     textView.setText(message); 
     // here you set the runnable to run again in 100ms 
     handler.postDelayed(this, 100); 
    } 
}; 

実行可能ファイルが実行されるたびに、メッセージ文字列を配列に入れてインデックスを作成します。

関連する問題