如何解决Android TextView不会更新视图
| 因此,我有一个textview,当侦听器获取某些特定数据时,我会在其中添加一些字符串。问题是,只有当我移到另一个视图或在后台隐藏应用程序然后将其返回到最前面时,textview才会更新文本。所以基本上我会创建一个textview,然后我有一个基于asmack库(XMPP)的侦听器,当我收到一个messgae时,会将其追加到textview中,但是我只能通过移至另一个视图并返回来查看它。 tv = (TextView)findViewById(R.id.textwindow);
chat = xmpp.getChatManager().createChat(contactid,new MessageListener() {
public void processMessage(Chat chat,Message message) {
System.out.println(\"Reciveved:\"+ message);
tv.append(\"From:\"+chat.getParticipant()+\"\\n\"+message.getBody()+\"\\n\");
}
}
);;
解决方法
您可以通过在View或其包含的ViewGroup上调用invalidate()方法来强制重绘。因此,在上面的代码中,您可以像这样修改processMessage()方法:
public void processMessage(Chat chat,Message message) {
System.out.println(\"Reciveved:\"+ message);
tv.append(\"From:\"+chat.getParticipant()+\"\\n\"+message.getBody()+\"\\n\");
tv.invalidate();
}
您可能想看看这里回答的一个相关问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。