我已经查看了代码here以及代码here,但我似乎还是无法让我的代码正常工作。通过第二个链接,我可以得到一个“计时器”,它可以在页面上计数,但是第一次,我的UI锁定。我试图做的是有一个独立的线程,不断翻转文本切换器中的文本,只要应用程序打开,每3秒钟一次。我需要它的两个值之间切换,并且已经尝试类似如下:“开”或“关”每2秒如何连续每两秒在两个值之间切换文本切换器
private Runnable mUpdateTimeTask = new Runnable() {
public void run() {
while(true){
try {
mHandler.post(new Runnable(){
@Override
public void run() {
try {
mSwitcher.setText("ON");
Thread.sleep(1000);
mSwitcher.setText("OFF");
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
);
}catch (Exception e) {
//tv1.setText(e.toString());
}
}
}
};
凡将翻转。我还需要能够从主界面更新文本切换器的内容,但还没有达到我可以尝试和测试的程度。除上述之外,我还尝试使用异步任务:
new AsyncTask<Void, Double, Void>() {
@Override
protected Void doInBackground(Void... params) {
while (true) {
mSwitcher.setText("ON");
SystemClock.sleep(2000);
mSwitcher.setText("OFF");
SystemClock.sleep(2000);
}
}
}.execute();
但是这也不起作用。
为什么不使用带有2个textview的viewflipper。并将flipinterval设置为2秒。视图翻转器可以用于自动翻转。 – blessenm