public Handler receiveHandler = new Handler() {
public void handleMessage(Message msg) {
String str = (String) msg.obj;
edtReceiveInfo.setText(str);
}
};
public class udpReceiveThread extends Thread {
@Override
public void run() {
try {
while (true) {
socket = new DatagramSocket(Integer.parseInt(edtReceivePort
.getText().toString()));
listenStatus = true;
while (listenStatus) {
byte[] inBuf = new byte[1024];
DatagramPacket inPacket = new DatagramPacket(inBuf,
inBuf.length);
socket.receive(inPacket);
String str = new String(inPacket.getData());
receiveInfo = Change1(str, inPacket.getLength());
// Log.i("dianwei",receiveInfo);
for (int i = 0; i < receiveInfo.size(); i++) {
Message msg = new Message();
if (receiveInfo != null && receiveInfo.size() > 0
&& !(receiveInfo.size() == i)) {
msg.obj = receiveInfo.get(i);
msg.what = 0;
receiveHandler.sendMessage(msg);}
}socket.close();
}
} catch (Exception e) {
try {
udpReceiveThread.sleep(1000);
}
catch (InterruptedException e1) {
e1.printStackTrace();
}
}
}}
我现在遇到的问题是:我用网络调试助手循环发送数据的时候,能接收到,但是显示的时候有问题,用settext时候,只能显示最后一个数据,用uppend的时候,我所有的数据循环显示,我想要一个个更新显示在我的界面上,大家有什么好方法吗?