当我点击活动时,我有3个文本视图。我想在2秒的间隙后一个接一个地加载文本视图?

时间:2015-02-10 18:40:14

标签: java android multithreading textview thread-sleep

我不确定,但我的研究让我走到了这一步。我想我需要创建Thread对象然后我可以使用Thread.sleep(seconds);但是我不确定它如何与Text View一起使用。

  private void runThread() {

    new Thread() {
        public void run() {
            int i = 0;
            while (i++ < 2) {
                try {
                    runOnUiThread(new Runnable() {

                        @Override
                        public void run() {
                            TextView tv1 = (TextView) findViewById(R.id.tvFirst);
                            TextView tv2 = (TextView) findViewById(R.id.tvSecond);
                            TextView tv3 = (TextView) findViewById(R.id.tvThird);
                        }
                    });
                    Thread.sleep(300);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }.start();
}

这甚至没有回应。我知道我在这里做错了,但这就是我现在能想到的。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

使用 Handler.postDelayed 。例如:

 new Handler().postDelayed(new Runnable(){
    @Override
     public void run(){
         runOnUiThread(new Runnable() {

                    @Override
                    public void run() {
                        TextView tv2 = (TextView) findViewById(R.id.tvSecond);
                        tv2.setText("I set this text after waiting for 2 seconds");

                    }
                });

      }
 },2000);

这将在两秒后更新您的第二个textView。你可以和其他人一样做。