gpt4 book ai didi

android - 按顺序重复更改 TextView 的文本

转载 作者:行者123 更新时间:2023-11-29 17:46:05 25 4
gpt4 key购买 nike

我有三个字符串

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.

但我不想依赖“值(value)”。我只是希望在流程完成之前文本按上述顺序更改。我知道这很模糊,但我不知道该怎么做。如果有人可以提供任何提示,请。

    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();
}



}
}

}

最佳答案

有一个像 value 这样不断递增的计数器是有意义的。但您可以更简单地做到这一点:

String[] texts = new String[3] {"Connecting.", "Connecting..", "Connecting..."};
int value = 0;

// ...

tx.setText(texts[value]);
value = (value+1)%3;

这样,您就不需要大而杂乱的 if 语句。您将需要找到另一种方式在工作完成时通知您的线程,而不是仅仅进行固定次数的迭代。

关于android - 按顺序重复更改 TextView 的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26605632/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com