如何每隔10秒从一个字符串中显示一个随机单词?

时间:2018-02-21 18:48:48

标签: java android

我正在开发一个简单的应用程序,我想每隔10秒从字符串数组中显示一个随机单词,但我不知道如何做到这一点。这是我的代码。

public void nuevaPalabra(){
    final String[] palabras = {"prueba", "electricidad", "sonido", "fruta", "camisa"};

    int random = (int) (Math.random() * 4);

    palabraaleatoria.setText(palabras[random]);
}

我道歉,如果这是一个愚蠢的问题,但我最近开始研究android,我不太了解,谢谢。

3 个答案:

答案 0 :(得分:2)

使用Timer取消timer使用timer.cancel()

    Timer timer = new Timer();

        TimerTask timerTask = new TimerTask() {
            @Override
            public void run() {
                Random random = new Random();
                final String[] palabras = {"prueba", "electricidad", "sonido", "fruta", "camisa"};
                final int rand = random.nextInt(palabras.length);
                palabraaleatoria.setText(palabras[rand]);
            }
        };

        timer.scheduleAtFixedRate(timerTask, new Date(), 10000);

答案 1 :(得分:0)

您可以通过使用具有随机整数的Runnable来解决此问题。我想它看起来像这样:

    String[] palabras = { "prueba", "electricidad","sonido", "fruta", "camisa" };
    Random rand = new Random();
    Runnable name = new Runnable() {
      @Override
       public void run() {
           Int i = rand.nextInt(palbras.legnth()) + 1;
           palabraaleatoria.setText(palabras[i]);

           handler.postDelayed(this, 10000);
       }
    };

答案 2 :(得分:0)

我希望" palabraaleatoria" 是一个textview我也会在4秒后设置文本更改它会做你想要的。

(int)(Math.random()* 4) - 此方法创建0到4之间的随机数,其中4是数组长度的最大值。

palabraaleatoria - 希望它是textview并将runnable设置为4秒延迟毫秒的视图。

palabraaleatoria.post(new Runnable() {
        @Override
        public void run() {
            palabraaleatoria.setText(palabras[(int) (Math.random()*4)]);

            palabraaleatoria.postDelayed(this, 4000);
        }
    });