Android 按顺序重复更改文本视图的文本
我有三根弦Android 按顺序重复更改文本视图的文本,android,textview,Android,Textview,我有三根弦 String one="Connecting."; String two="Connecting.."; String three="Connecting..."; 我有一个textView,我想要的是按此顺序将文本设置为textView。。 一-->二-->三-->一-->二-->三,依此类推,直到该过程完成 我已经在基于值的for循环中完成了它,即 if(value%3==0){ tx.setText(one);
String one="Connecting.";
String two="Connecting..";
String three="Connecting...";
我有一个textView,我想要的是按此顺序将文本设置为textView。。
一-->二-->三-->一-->二-->三,依此类推,直到该过程完成
我已经在基于值的for循环中完成了它,即
if(value%3==0){
tx.setText(one);
}
else if(value%3==1){
tx.setText(two);
}
else
{
tx.setText(three);
}
This is done inside a thread and it is working well.
但我不想依赖“价值”。。我不希望在这个过程完成之前,按照上面提到的顺序修改文本。
我知道这是含糊不清的,但我不知道如何做到这一点。
如果有人能给点提示,请告诉我
code:
public void startProgress(View view) {
bar.setProgress(0);
tx.setText("Connect");
new Thread(new Task()).start();
}
class Task implements Runnable {
@Override
public void run() {
for (int i = 0; i <= 10; i++) {
final int value = i;
try {
Thread.sleep(500);
runOnUiThread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
bar.setProgress(value);
String one="Connecting.";
String two="Connecting..";
String three="Connecting...";
if(value%3==0){
tx.setText(one);
}
else if(value%3==1){
tx.setText(two);
}
else
{
tx.setText(three);
}
}
});
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
代码:
public void startProgress(视图){
进度条(0);
tx.setText(“连接”);
新线程(新任务()).start();
}
类任务实现可运行{
@凌驾
公开募捐{
对于(int i=0;i来说,有一个像value
这样的计数器保持递增是有意义的。但是您可以简单一点:
String[] texts = new String[3] {"Connecting.", "Connecting..", "Connecting..."};
int value = 0;
// ...
tx.setText(texts[value]);
value = (value+1)%3;
这样,您就不需要使用凌乱的if
语句。您需要找到另一种方法,在任务完成时通知线程,而不是只进行固定的迭代次数。使用TextSwitcher而不是TextView…它会起作用。您使用的是计时器吗!请参阅已编辑的代码。我没有使用计时器。为什么不使用进度巴,看这个例子