我有這樣的一段代碼...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