Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android TextView没有';不要更新视图_Java_Android_Textview - Fatal编程技术网

Java Android TextView没有';不要更新视图

Java Android TextView没有';不要更新视图,java,android,textview,Java,Android,Textview,所以我有一个文本视图,当我的监听器得到一些特定的数据时,我会在其中添加一些字符串。问题是,只有当我移动到另一个视图或在后台隐藏应用程序,然后将其返回到前面时,textview才会更新文本。所以基本上我创建了一个textview,然后我有一个基于asmack library(XMPP)的侦听器,当我收到一个消息时,我将它附加到textview,但我只能通过移动到另一个视图并返回来查看它 tv = (TextView)findViewById(R.id.textwindow); chat

所以我有一个文本视图,当我的监听器得到一些特定的数据时,我会在其中添加一些字符串。问题是,只有当我移动到另一个视图或在后台隐藏应用程序,然后将其返回到前面时,textview才会更新文本。所以基本上我创建了一个textview,然后我有一个基于asmack library(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");

                }                                       
                    }
            );;

可以通过对视图或其包含的视图组调用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();         
}

您可能想看看所回答的相关问题

可以通过对视图或其包含的视图组调用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();         
}

您可能想看看所回答的相关问题

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