我有一个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