- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我遇到了以下问题。我在像这样的单独线程中的 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();
}
但是当我得到处理程序时它返回 null,尽管在 Debug模式下处理程序返回并显示错误消息。可能是什么问题?
PS 可能是获取Handler的方式不对,但是我找不到相关信息。
最佳答案
getHandler
方法返回 null
因为 View 没有附加:
public Handler getHandler() {
if (mAttachInfo != null) {
return mAttachInfo.mHandler;
}
return null;
}
mAttachInfo
在 dispatchAttachedToWindow
中设置,在 dispatchDetachedFromWindow
中设置为空。
您可以直接使用 mapView.post()
而不是 mapView.getHandler().post()
(这似乎使用 getHandler().post()
或 ViewRootImpl.getRunQueue().post()
).
关于android - 为什么 getHandler() 返回 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13254819/
我遇到了这样一个问题:一个线程试图在另一个线程的处理程序初始化之前将消息发送到另一个线程的处理程序。这种异步线程通信很容易导致空指针异常。 我正在尝试使用以下代码来解决此问题(一种等待通知算法),但我
本文整理了Java中loci.common.ZipHandle.getHandle()方法的一些代码示例,展示了ZipHandle.getHandle()的具体用法。这些代码示例主要来源于Github
我遇到了以下问题。我在像这样的单独线程中的 mapview 上绘制路线: public void drawRoute(final MapView mapView) { new T
本文整理了Java中waffle.windows.auth.impl.WindowsSecurityContextImpl.getHandle()方法的一些代码示例,展示了WindowsSecurit
本文整理了Java中org.scribe.up.profile.yahoo.YahooEmail.getHandle()方法的一些代码示例,展示了YahooEmail.getHandle()的具体用法
我构建了一个自定义 View ,并在其构造函数中使用 postDelay() 使用 glide 更新 ImageView postDelayed(new Runnable() { @Overr
我的代码中有这一行: getChildFragmentManager().popBackstackImmediate(); 它有时可以工作,但经常会崩溃。这是堆栈跟踪: java.lang.NullP
最近我将我的应用程序迁移到 targetSdkVersion = 28。 将更新后的应用程序发布到 Google Play 后,我开始在 Fabric.io 中收到非常奇怪的崩溃报告: Crash r
Attempt to invoke virtual method 'android.os.Handler android.support.v4.app.FragmentHostCallback.get
警告:我是新手。在此先感谢您的帮助。 Pavlov/QUnit 导致我的 ember 应用程序中的路由器出现问题。单独使用 QUnit 时,以下测试通过: test "/contacts", ->
我的应用程序包含 4 个 fragment 作为标签,使用 FragmentPagerAdapter 在父 fragment 中加载。 问题是当我运行应用程序并按下并重新打开应用程序时,我收到此错误日
我在测试中使用 visit 时遇到错误: TypeError: 对象 # 没有方法 'getHandler' module("visit", { setup: function() { E
我是一名优秀的程序员,十分优秀!