Java 当线程在android中睡眠时,如何在倒计时中显示文本

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

我正在尝试使用倒计时创建倒计时。当线程处于休眠状态时,我希望字符串值显示textview,并在倒数计时器再次启动之前显示10秒。通常,倒数将从0持续到9。我想在线程睡眠时设置字符串值。我不知道如何让它工作。这是我的倒计时编码,有人能帮我解决这个问题吗

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秒显示我的字符串值通常这是我需要的概念,你能帮我吗