【问题标题】:Receiving nativeOnDraw error while using NavigationDrawer使用 NavigationDrawer 时收到 nativeOnDraw 错误
【发布时间】:2014-07-26 01:26:35
【问题描述】:
我正在尝试学习如何使用 Android NavigationDrawer,并通过复制此处https://github.com/javatechig/AndroidNavigationDrawer 中的代码创建了一个小型演示应用程序。我能够成功编译代码并运行应用程序,但是每当我在 NavigationDrawer 中选择一个选项以在 WebView 中打开网页时,我在 Webview 中什么都看不到。我的 logcat 没有显示任何错误,但我收到一条消息:
W/AwContents: nativeOnDraw failed; clearing to background color
我尝试了this question here 中提出的解决方案,但似乎都没有解决我的问题。如果有人能帮我弄清楚如何让这些网页出现在 WebView 中,那将不胜感激。
编辑:仅供参考,我的项目 SDK 是 Android API 19 平台,我正在使用 JetBrains IntelliJ 社区版。
【问题讨论】:
标签:
android
android-fragments
webview
android-actionbar
navigation-drawer
【解决方案1】:
你需要做的是像这样为你的 WebView 设置一个 WebViewclient (WebViewFragment.java):
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
BundlesavedInstanceState) {
//some code
webView.setWebViewClient(new WebViewClient());
}
现在,您调用的所有 url(来自 NavigationDrawer)都将保留在 WebView 中。
如果你想改变这种行为,你可以例如覆盖 WebView 类的 loadUrl 方法。
如果用户在 webview 中单击了链接,但您想在外部浏览器中打开该链接,则必须重写 WebViewClient 类的 shouldOverrideUrlLoading 方法。
【解决方案2】:
我认为,如果您在重试之前删除所有片段、背景颜色和图像,它会起作用。