我正在使用Android Studio在Android Java中制作应用。 每0.1秒我想更新某个TextView中的文本。
我已经设法使用Handler每0.1秒(100毫秒)执行一次方法,但它不会自动更新TextView。
它仅在用户与应用程序交互时将TextView更新为我想要的内容。例如,当用户滑动SeekBar或按下按钮时,它仅更新它。当用户点击屏幕时,它不会更新,也不会在没有输入的情况下自动更新。
如何在没有用户输入的情况下自动更新值?
提前致谢。
P.S:我是Android和Java的新手,我使用线程以xml格式从网站获取价值。
我应该发布任何代码,如果是,那究竟是什么?
答案 0 :(得分:1)
您可以尝试更新UI线程上的文本视图的值。
runOnUiThread(new Runnable() {
@Override
public void run() {
//update TextView here
}
});
答案 1 :(得分:1)
Thread t = new Thread() {
@Override
public void run() {
try {
while (!isInterrupted()) {
Thread.sleep(100);
runOnUiThread(new Runnable() {
@Override
public void run() {
// update TextView here!
}
});
}
} catch (InterruptedException e) {
}
}
};
t.start();
您也可以使用线程更新textview,就像这样。
答案 2 :(得分:0)
int prStatus = 0;
new Thread(new Runnable() {
public void run() {
while (prStatus < 100) {
prStatus += 1;
handler.post(new Runnable() {
public void run() {
tv.setText(prStatus + "/");
}
});
try {
Thread.sleep(150);
} catch (InterruptedException e) {
e.printStackTrace();
}
if(prStatus == 100)
prStatus = 0;
}
}
}).start();