-1

我需要将其作为线程使用时间(睡眠)与否的条件。

例如:

Thread splashTread = new Thread() {
              @Override public void run() {
                  try {
                      if (!internet){
                          sleep(4000);
                      }
                          // do loads

                  } catch  (InterruptedException e) { 
                  } finally {
                      startActivity(new Intent( "MainScreen"));
                      finish(); 
                  } 
              } 

在线时,“进度条”会适当且直观地上升。当没有互联网,速度太快且不可见时,我希望用户在这种情况下看到进度条几秒钟。这就是为什么我尝试使用睡眠,但如果我在一种条件下输入它就不起作用。

4

2 回答 2

2
Handler handler = new Handler();

Runnable spalshRunnable = new Runnable() {
    @Override
    public void run() {
        startActivity(new Intent(YourActivity.class, MainScreen.this));
        finish(); 
    }
}

在 onCreate 里面:

handler.postDelayed(spalshRunnable, 3000);
于 2013-06-09T18:41:35.600 回答
0

好的。解决方案:

这个线程需要两个异常:InterruptedException 和Exception。

Thread splashTread = new Thread() {
              @Override public void run() {
                  try {
                      if (!internet){
                          sleep(4000);
                      }
                          // do loads

                  } catch  (InterruptedException e) {
                  } catch  (Exception e) {
                  } finally {
                      startActivity(new Intent( "MainScreen"));
                      finish(); 
                  } 
              } 
于 2013-06-09T18:26:54.923 回答