如何在Android中更新屏幕?

时间:2010-06-25 13:14:08

标签: android

我必须显示UDP服务器的接收数据。当数据来自服务器时,我必须逐个在屏幕上显示。如何更新屏幕(Textview(或)EditText)?

我需要在屏幕上添加(rec_str)值。

public void run() {
    try {
        DatagramSocket clientsocket = new DatagramSocket(9876);
        byte[] receivedata = new byte[1024];
        while(true)
        {
            DatagramPacket recv_packet = new DatagramPacket(receivedata, receivedata.length);
            Log.d("UDP", "S: Receiving...");
            clientsocket.receive(recv_packet);
            String rec_str = new String(recv_packet.getData());
            Log.d(" Received String ",rec_str);
            InetAddress ipaddress = recv_packet.getAddress();
            int port=recv_packet.getPort();
            Log.d("IPAddress : ",ipaddress.toString());
            Log.d(" Port : "    ,Integer.toString(port));
        }
    } catch (Exception e) {
        Log.e("UDP", "S: Error", e);
    }
}

当我使用settext时,它仅显示最后一个文本。我怎样才能看到所有的数据? (数据将逐一出现。当数据出现时,我还需要用现有数据显示当前数据。)

1 个答案:

答案 0 :(得分:1)

您应该使用TextView方法设置setText(CharSequence text),并传递rec_str字符串。

看一下类引用,有几种不同的setText()方法接受不同类型的输入:

http://developer.android.com/reference/android/widget/TextView.html