1

我是 Java 编程新手,有一个问题。我创建了这段代码,现在我想插入一个 while 循环,以便文本再次每五秒更改一次。我试图插入一个 while 语句和 Thread.sleep 但它不起作用。

    Timer tim = new Timer(); 

    String rndStr1 = myStringArray[new Random().nextInt(myStringArray.length)];
    txtV1.setText(rndStr1);


    tim.scheduleAtFixedRate( new TimerTask() {

            @Override
                public void run() {
                    count++;

                    runOnUiThread(new Runnable() 
                     {

                        public void run() 

                        {                              
                        if(count==5)//change the text after 5 seconds
                        {

                        String rndStr1 = myStringArray[new Random().nextInt(myStringArray.length)];
                        txtV1.setText(rndStr1);
                        }
            }, 1000, 1000 );
4

2 回答 2

0

Try public void run()

                    {                              
                    if(count==5)//change the text after 5 seconds
                    {
                       wait(5000);
                    String rndStr1 = myStringArray[new Random().nextInt(myStringArray.length)];
                    txtV1.setText(rndStr1);
                    }
于 2013-04-05T22:38:46.137 回答
0

为什么需要一个while循环?如果您希望文本每 5 秒更改一次,只需将计时器任务参数设置为 5000、5000 而不是 1000、1000。您根本不需要 if (count == 5)。计时器将每 5 秒运行一次,您只需将文本设置为您的 textView。那里有什么问题?

于 2013-04-06T05:37:35.817 回答