Android处理程序未更新textview
我想我会和你们分享一些奇怪的代码,看看我是否犯了什么错误。 我已经向后台线程传递了一个处理程序来更新mainactivity的UI(我知道这不是最好的方法,但这应该是一个快速而肮脏的测试应用程序) 基本上,代码会在textview上附加一条消息,如下所示:Android处理程序未更新textview,android,textview,handler,Android,Textview,Handler,我想我会和你们分享一些奇怪的代码,看看我是否犯了什么错误。 我已经向后台线程传递了一个处理程序来更新mainactivity的UI(我知道这不是最好的方法,但这应该是一个快速而肮脏的测试应用程序) 基本上,代码会在textview上附加一条消息,如下所示: uiHandler.post(new Runnable() { @Override public void run() {
uiHandler.post(new Runnable() {
@Override
public void run() {
Log.i("Text2Server", "Updating log with: " + logput);
logTextView.append(logput);
}
});
每次收到UDP消息时都会发生这种情况,每次都会完美地输出日志,但textview只会在第一条消息上更新,有时甚至根本不会更新
我想这与我的文本视图有关,但我想我会看看是否有人见过类似的东西
谢谢
另外,我已经尝试了一些基本的方法,比如使用setText()而不是append()等等。它是否在LogCat中输出“Text2Server”,“使用“+logput
更新日志?”
.post(Runnable r)
此Runnable被放置在队列中,并将在稍后附加的线程执行时运行
也许,处理程序无法访问ui线程,这种假设也可能是错误的
试试另一种方法
实例化处理程序:
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
String logPutFromThread=msg.getData().getString("somekey");
Log.i("Text2Server", "Updating log with: " + logPutFromThread);
logTextView.append(logPutFromThread);
}
};
从线程的Runnable
Runnable updateActivityUi = new Runnable(){
@Override
public void run() {
//do something before you send the message
Message msg = new Message();
msg.peekData().putString("somekey", logput)
handler.sendMessage(msg)
}};
它是否在LogCat中输出“Text2Server”,“更新日志时使用:”+logput
.post(Runnable r)
此Runnable被放置在队列中,并将在稍后附加的线程执行时运行
也许,处理程序无法访问ui线程,这种假设也可能是错误的
试试另一种方法
实例化处理程序:
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
String logPutFromThread=msg.getData().getString("somekey");
Log.i("Text2Server", "Updating log with: " + logPutFromThread);
logTextView.append(logPutFromThread);
}
};
从线程的Runnable
Runnable updateActivityUi = new Runnable(){
@Override
public void run() {
//do something before you send the message
Message msg = new Message();
msg.peekData().putString("somekey", logput)
handler.sendMessage(msg)
}};
是的,日志会显示,文本视图不会更新。这很奇怪。不,不过现在试试看。将发布结果,抱歉延迟。好的,仍然不起作用。处理程序不会被调用,也不会记录任何内容。我想我记得以前有过这个问题,它和活套有关,但我不确定。有什么想法吗?谢谢你迄今为止的帮助!是的,日志会显示,文本视图不会更新。这很奇怪。不,不过现在试试看。将发布结果,抱歉延迟。好的,仍然不起作用。处理程序不会被调用,也不会记录任何内容。我想我记得以前有过这个问题,它和活套有关,但我不确定。有什么想法吗?谢谢你迄今为止的帮助!也有这个问题。它在第一次加载时工作,但在重新加载活动时不再工作。也存在此问题。它在第一次加载时工作,但在重新加载活动时不再工作。