Java 当线程在android中睡眠时,如何在倒计时中显示文本
我正在尝试使用倒计时创建倒计时。当线程处于休眠状态时,我希望字符串值显示textview,并在倒数计时器再次启动之前显示10秒。通常,倒数将从0持续到9。我想在线程睡眠时设置字符串值。我不知道如何让它工作。这是我的倒计时编码,有人能帮我解决这个问题吗Java 当线程在android中睡眠时,如何在倒计时中显示文本,java,android,countdowntimer,thread-sleep,Java,Android,Countdowntimer,Thread Sleep,我正在尝试使用倒计时创建倒计时。当线程处于休眠状态时,我希望字符串值显示textview,并在倒数计时器再次启动之前显示10秒。通常,倒数将从0持续到9。我想在线程睡眠时设置字符串值。我不知道如何让它工作。这是我的倒计时编码,有人能帮我解决这个问题吗 public class MyCountDownTimer2 extends CountDownTimer { public MyCountDownTimer2(long startTime2, long interval2) { su
public class MyCountDownTimer2 extends CountDownTimer {
public MyCountDownTimer2(long startTime2, long interval2) {
super(startTime2, interval2);
}
@Override
public void onFinish() {
countDownTimer2.start();
}
@Override
public void onTick(long millisUntilFinished) {
text2.setText("" + millisUntilFinished / 10);
}
}
如果我按下停止按钮,我需要在countdowntimer文本视图中显示这个字符串值10秒,这是我的字符串值代码
public void stop(){
try {
String val2=text.getText().toString();
int val3 = Integer.parseInt(val2);
int num1,num2,num3,num4,temp;
num1 = val3%10;
temp = val3/10;
String s4 = Integer.toString(num1);
text1.setText(String.valueOf(s1));
}
}
我尝试了这种方法我的值在倒计时文本视图中更新,但我看不到该值,因为它在几秒钟内就消失了我需要显示至少10或15秒我能做什么
public class MyCountDownTimer1 extends CountDownTimer {
public MyCountDownTimer1(long startTime1, long interval1) {
super(startTime1, interval1);
}
@Override
public void onFinish() {
countDownTimer1.start();
}
@Override
public void onTick(long millisUntilFinished) {
text1.setText("" + millisUntilFinished / 10);
String val2=text.getText().toString();
int val3 = Integer.parseInt(val2);
int num1,num2,num3,num4,temp;
num1 = val3%10;
temp = val3/10;
num2=temp%10;
temp=temp/10;
num3=temp%10;
num4=temp/10;
final String s1 = Integer.toString(num4);
new Thread(){
public void run(){
try {
runOnUiThread(new Runnable() {
@Override
public void run() {
text1.setText(String.valueOf(s1));
}
});
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}.start();
}
}
@isim您能解决我的问题吗?您是从gui线程还是其他线程为TextView调用setText?它必须是gui线程,否则您将看不到更改。如果我理解正确,您是否试图在计时器暂停时显示倒计时中剩余的秒数?10秒后,计时器将自动恢复倒计时?@DjDexter5GHz您能告诉我如何从gui线程或其他方式调用setText for TextView吗thread@isim几乎相同的概念在这里,我连续地从0到9计数,如果我点击停止按钮,我需要停止倒计时10秒,并在倒计时开始后10秒显示我的字符串值通常这是我需要的概念,你能帮我吗