在 Log 中工作正常,但在 setText 中不会更改屏幕上的任何内容,也不会发生错误。
//within the onCreate method
myRef.child(fireUser.getUid()).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
millis = Long.valueOf(dataSnapshot.child("millis").getValue().toString());
t1.run();
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Intent i = new Intent(getApplicationContext(), SplashActivity.class);
startActivity(i);
finish();
}
});
//Out of the onCreate method
Thread t1 = new Thread(){
@Override
public void run() {
try {
long i;
for(i=System.currentTimeMillis(); i < millis+millis_wait; i=System.currentTimeMillis()) {
runOnUiThread(new Runnable() {
@Override
public void run() {
long pr = (millis + millis_wait) - System.currentTimeMillis();
tx_time.setText(""+pr);
Log.i("TST", "" + pr);
}
});
Thread.sleep(1000);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
我应该改变什么?
正如我所说,代码正在运行,日志事件正在被完美地调用和执行,唯一不会发生的事情是更新 setText 根本不运行,但也不会出现任何错误。
杨魅力
相关分类