【问题标题】:Android TextView doesn't update the viewAndroid TextView 不更新视图
【发布时间】:2011-09-02 15:46:33
【问题描述】:

所以我有一个文本视图,当我的听众获得一些特定数据时,我会在其中附加一些字符串。问题是,只有当我移动到另一个视图或在后台隐藏应用程序然后将其放回前面时,textview 才会更新文本。所以基本上我制作了一个 textview,然后我有一个基于 asmack 库 (XMPP) 的侦听器。当我收到一个消息时,我将它附加到 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");

                }                                       
                    }
            );;

【问题讨论】:

  • 你能发布一些(相关的)代码吗?
  • 但请只关注相关部分。

标签: java android textview


【解决方案1】:

您可以通过在 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();         
}

您可能想查看here 回答的相关问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多