B. *_*ney 4 multithreading android loops wait postdelayed
我是 Android 新手,我正在尝试从字符串数组列表中循环文本并将它们显示在文本切换器中。我希望文本每两秒更改一次。我使用这个问题作为我的指南,并且使用按钮切换文本没有问题。但是,当我尝试使用 for 循环并延迟 2 秒来循环文本时,它仅显示 arrayList 中的第一个文本。如何让循环持续执行并暂停?任何帮助是极大的赞赏。
我的守则;
private void updateCounter()
{
try{
for (int i=0; i< CoinShowReader.tickercontent.size(); i++){
mHandler.postDelayed(new Runnable() {
public void run() {
m_switcher.setText((CoinShowReader.tickercontent.get(CoinShowReader.m_counter)));
CoinShowReader.m_counter++;
}
}, 2000);
}
}catch(Exception e){
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
删除循环,您不需要它,只需在处理程序中安排花药可运行的内容,如下所示:
void updateTextView(){
m_switcher.setText((CoinShowReader.tickercontent.get(CoinShowReader.m_counter)));
CoinShowReader.m_counter++;
mHandler.postDelayed(new Runnable() {
public void run() {
updateTextView();
} } ,2000); }
}
Run Code Online (Sandbox Code Playgroud)
这样每次通话都会updateTextView()安排下一次通话,依此类推......
注意: 不要忘记插入触发器来停止该行为,因为它是无穷大的
| 归档时间: |
|
| 查看次数: |
2091 次 |
| 最近记录: |