我正在开发一个简单的应用程序,我想每隔10秒从字符串数组中显示一个随机单词,但我不知道如何做到这一点。这是我的代码。
public void nuevaPalabra(){
final String[] palabras = {"prueba", "electricidad", "sonido", "fruta", "camisa"};
int random = (int) (Math.random() * 4);
palabraaleatoria.setText(palabras[random]);
}
我道歉,如果这是一个愚蠢的问题,但我最近开始研究android,我不太了解,谢谢。
答案 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);
}
});