我从我的应用程序接收来自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方法时,它会在所有传入完成后显示。我需要查看数据何时到来,我必须显示。
答案 0 :(得分:5)
您可以尝试使用TextView中的append
方法,而不是setText
答案 1 :(得分:1)
在当前内容的末尾添加内容
textview.setText( "Recieved String " + textview.getText() + rec_str);
答案 2 :(得分:0)
尝试使用
yourobject.invalidateViews();
强制更新