我是 Android 的初学者。
我编写了一个简单的代码,我想在 textView 中以 1 秒的步长显示一系列“hello 1”、“hello 2”...“hello 5”。但是,每次只出现最后一个“hello 5”。任何人都可以帮助我修改我的代码以在 textView 中显示所有中间词以 1 秒的停顿相互改变(从“hello 1”到“hello 5”)。
提前致谢!
View.OnClickListener onClickListener_button1 = new View.OnClickListener() {
@Override
public void onClick(View v) {
for(int i=1; i<= 5; i++){
textView.setText("hello " + i);
try{Thread.sleep(1000);
} catch(Exception e){
}
}
}
最佳答案
代码实际上正在运行并将您的字段内容从:hello 1 更改为 hello 2 再到 hello 3 等。您只是没有机会看到它,因为 UI 未更新。
您的代码的问题在于您使用了 Thread.Sleep() ,它会阻塞 (UI) 线程,因此当 UI 不再卡住时,只会显示最后一个 hello 5。
看看这篇文章的替代方案:
关于Android Studio EditText更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58329441/