在运行时更新Textview?

时间:2010-06-26 05:32:28

标签: android

我从我的应用程序接收来自udp服务器的数据。当我收到数据时我必须在屏幕上显示。我只是使用Textview来显示传入的数据(textview.setText(“data”))。但它显示最后一个传入的数据。我还需要显示以前的数据。如何解决这个问题?

DatagramSocket clientsocket=new DatagramSocket(6363);
byte[] receivedata=new byte[1024];
while(true)
{
  DatagramPacket recv_packet=new DatagramPacket(receivedata, receivedata.length);
  textview.setText("UDP S: Receiving...");
  clientsocket.receive(recv_packet);
  String rec_str=new String(recv_packet.getData());           
  textview.setText(" Received String "+rec_str); 
}       

当我使用append方法时,它会在所有传入完成后显示。我需要查看数据何时到来,我必须显示。

3 个答案:

答案 0 :(得分:5)

您可以尝试使用TextView中的append方法,而不是setText

答案 1 :(得分:1)

在当前内容的末尾添加内容

textview.setText( "Recieved String " + textview.getText() +  rec_str);

答案 2 :(得分:0)

尝试使用

yourobject.invalidateViews();

强制更新