Bra*_*bra 9 android handler android-mapview
我有以下问题.我在mapview上绘制路线,在这个单独的线程中:
public void drawRoute(final MapView mapView) {
new Thread(new Runnable() {
public void run() {
try {
//Do something useful
} catch (SomeException se) {
Handler handler = mapView.getHandler();
handler.post(/*show error in UI thread*/)
}}
}).start();
}
Run Code Online (Sandbox Code Playgroud)
但是当我得到处理程序时它返回null,尽管在调试模式处理程序返回并显示错误消息.问题是什么?
PS可能是获取Handler的错误方法,但我无法找到有关它的信息.
ale*_*leb 25
该getHandler方法返回,null因为未附加视图:
public Handler getHandler() {
if (mAttachInfo != null) {
return mAttachInfo.mHandler;
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
mAttachInfo设置dispatchAttachedToWindow并且无效dispatchDetachedFromWindow.
而不是mapView.getHandler().post()你可以直接使用mapView.post()(似乎使用getHandler().post()或ViewRootImpl.getRunQueue().post()).
| 归档时间: |
|
| 查看次数: |
6627 次 |
| 最近记录: |