Java 如何在runnable上运行Textview
我有下面的代码,我读到的问题是不能在可运行的方法中放置textview,我如何实现这个Java 如何在runnable上运行Textview,java,android,udp,runnable,Java,Android,Udp,Runnable,我有下面的代码,我读到的问题是不能在可运行的方法中放置textview,我如何实现这个 Thread UDPreceive; Handler handler = new Handler(); void startListen() { UDPreceive = new Thread(new Runnable() { @Override public void run() { try {
Thread UDPreceive;
Handler handler = new Handler();
void startListen() {
UDPreceive = new Thread(new Runnable() {
@Override
public void run() {
try {
while(true) {
String hey;
//TextView text22 = (TextView) findViewById(R.id.textView2);
int server_port = 9875;
byte[] message = new byte[255];
DatagramPacket p = new DatagramPacket(message, message.length);
DatagramSocket s = new DatagramSocket(server_port);
s.receive(p);
hey = new String(message, 0, p.getLength());
Log.d("MESSAGE: ", "Message is:" + hey);
//text22.setText(hey);
s.close();
}
} catch (Exception e) {
System.err.println(e);
e.printStackTrace();
}
}
});
UDPreceive.start();
}
我试着在Oncreate方法上运行这个,但显然它没有提供我在android上的日志,如果我收到了什么,它会通知我,还有textview上的文本。或者我遗漏了什么?当显示一个简单的文本时,它确实起作用,我将对此进行研究。谢谢。看来我可以在我的线程中实现这一点。现在可以用了,谢谢。
textview.post(new Runnable() { // Use the post method of the TextView
public void run() {
textview.setText( // Update the Textview
"some text"
);
}
});
Yo can also use
runOnUiThread(new Runnable() {
@Override
public void run() {
text22.setText(hey);
}
});
It will give you main thread access to render on UI.