Androidでスレッドを勉強しているだけです(私もスレッド期間に少し慣れていません)。他のさまざまな投稿を見ていますが、まだ少し説明が必要です。HelloWorld を使ってシンプルにしています。私がしたいのは、「Hello World this is a thread」というメッセージを表示し、各単語を 1 秒間隔で表示することです。メッセージで文字列配列を使用すると考えました。次に、スレッドで for ループを使用して、各要素を反復処理します。ループ全体が遅延時間枠で実行されるという点で、私の問題の論理を理解していると確信しています。各要素を1秒間隔で表示できるように、これをどのように解決できるか教えてもらえますか? これが私のコードです:
public class HelloWorld extends Activity {
Handler m_handler;
Runnable m_handlerTask ;
private TextView hello;
private String[] HelloWorld = {
"Hello",
"World",
"This",
"Is",
"A",
"Thread",
};
int i=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_hello_world);
hello = (TextView) findViewById(R.id.hello);
m_handler = new Handler();
m_handlerTask = new Runnable()
{
@Override
public void run() {
if(i<HelloWorld.length-1)
{
hello.append(HelloWorld[i]);
hello.setText("\n");
i++;
}
m_handler.postDelayed(m_handlerTask, 1000);
}
};
m_handlerTask.run();
m_handler.removeCallbacks(m_handlerTask);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.hello_world, menu);
return true;
}
}