刚刚研究 Android 中的线程(我对线程时期也有点陌生)。我正在查看其他各种帖子,但仍需要一些澄清。我用 HelloWorld 保持简单。我想要的是显示消息:“Hello World 这是一个线程”,每个单词以 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;
}
}