我有一個textview,其中我用兩種方式追加文本: 第一種方法:單擊按鈕並獲取EditText中的內容。Android不會向文本視圖中正確添加()文本
sendbutton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
txview.append("Text: "+txedit.getText()+"\n");
txedit.setText("");
}
});
這工作正常,當我點擊按鈕textview更新與新文本的視圖。
BUT
的第二種方式,我聽XMPP監聽器(asmack庫)和上recieving消息我將其追加到TextView的。
chat = xmpp.getChatManager().createChat(contactid[1], new MessageListener() {
public void processMessage(Chat chat, Message message) {
try {
chat.sendMessage(message.getBody());
} catch (XMPPException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} txview.append("Text"+message.getFrom()+"\n"+message.getBody()+"\n"); } }
);;
的問題是,我收到消息,我知道它肯定(因爲我它重新發送到與chat.sendMessage(message.getBody())的用戶),BUT的TextView僅在我更改視圖或將應用程序置於後臺(單擊主頁按鈕)並將其重新放回到前臺後才顯示我的消息。
我試過 在每個視圖上調用invalidate(),根本不起作用。
是否有任何解決方案或其他方式來做我即將做的事情?
感謝您的代碼,想檢查文檔,但你來到這裏有一個很好的答案。但我認爲生病無論如何讀取documentaion =) – artouiros 2011-05-28 06:46:27
您也可以在GUI線程中創建Handler並將其傳遞給您的監聽器。但我從來沒有嘗試過。 – 2011-05-28 06:49:26
textView.append(「text」); textView.postDelayed(null,0); – 2016-08-18 15:57:06