[英]Android can't update UI but have log
我想在 while 循环中更新 TextView。 但有一个问题。 加载时,UI不能改变,但有日志。只有加载后,UI才能改变。 有人可以告诉我如何解决它。
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dfu_lib.enterdfumode("/dev/ttyS1");
dfu_lib.open("/dev/ttyS1", "/storage/self/primary/Download/H28180-V1R5-10000.dfu", 1);
dfu_lib.program();
do{
percent = dfu_lib.getpercent();
Log.i("NF_LOG_Android_Percent", String.valueOf(percent));
//----
tv_percent_val.setText(String.valueOf(percent));
//----
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}while(percent<100);
Log.i("NF_LOG", "ttyS1 update done");
dfu_lib.close();
}
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
while (progressBarValue < 100) {
progressBarValue++;
handler.post(new Runnable() {
@SuppressLint("SetTextI18n")
@Override
public void run() {
// put your code***
}
});
try {
Thread.sleep(300);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}).start();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.