我有这样的一段代码...TextView.setText()不工作
class IncomingHandler extends Handler
{
@Override
public void handleMessage(Message message)
{
String totalReceived = (String) message.obj;
Log.i("TAG", "total received: " + totalReceived);
totalTextView.setText("" + totalReceived);
Log.i("TAG", (Looper.getMainLooper().getThread() == Thread.currentThread()) ? "UI thread" : "NOT UI thread");
//Toast.makeText(MainActivity.this, "message received.", Toast.LENGTH_LONG).show();
};
};
我跑我的应用程序,它工作得很好,但如果我通过改变设备的方向重新创建活动,例如,文字将不会更新。请注意,我确实收到这些消息,并且它们已成功通过LogCat打印。
另外请注意,在我最后的日志中,我尝试确定我是否在主线程上运行。如果该检查是正确的,我确实在UI线程上运行...
任何想法,我可能做错了什么?
干杯, 亚历
忘了提及当我重新创建活动时,我得到的文本是布局中的默认文本... – 2013-02-27 16:33:48
发布您如何挂钩/从处理程序中分离。 – dymmeh 2013-02-27 16:36:17
原来你是对的。我通过处理程序的方式使差异。当我创建服务时,我正在通过它。现在我将它作为replyTo参数传递给每一次我绑定并且它工作 – 2013-02-28 10:56:20