Java Handler没有';更新UI元素
我使用一个处理程序从一个IntentService对象更新我的UI,但是,它看起来好像执行了runnable,UI没有得到更新。我的代码是这样的:Java Handler没有';更新UI元素,java,android,multithreading,Java,Android,Multithreading,我使用一个处理程序从一个IntentService对象更新我的UI,但是,它看起来好像执行了runnable,UI没有得到更新。我的代码是这样的: new Handler(Looper.getMainLooper()).post(new Runnable() { @Override public void run () { Log.d("DemoApp", getTitle());
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
public void run () {
Log.d("DemoApp", getTitle());
title.setText(getTitle());
}
});
结果:它打印标题,但UI没有任何变化。这是什么?尝试在UI线程上运行
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
public void run () {
Log.d("DemoApp", getTitle());
runOnUiThread(new Runnable() {
@Override
public void run() {
title.setText(getTitle());
}
});
}
});
title
是否附加到视图的层次结构中?这样您就不会从头开始膨胀它了?不,实际上,它第一次显示了最新的信息,但在第二次调用时没有。您没有其他想法吗?服务没有ui。重新思考您的设计我想这样做,但runOnUiThread在服务中不可用。然后使用广播接收器,从服务发送值,并在活动中显示标题,这是可能的?您真的在服务的子类中吗?