- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
对于有经验的 android 程序员来说,这应该很容易。不幸的是我对android sdk一无所知。我正在使用 PhoneGap 打包 Web 应用程序,我需要覆盖 cordovaExample.java 中的 WebSettings(现在我正在使用 cordovaExample 作为我的应用程序的模板)。我的代码如下所示:
package org.apache.cordova.example;
import android.app.Activity;
import android.os.Bundle;
import org.apache.cordova.*;
public class cordovaExample extends DroidGap
{
@Override
public void onCreate(Bundle savedInstanceState)
{
this.appView.getSettings().setUseWideViewPort(true);
this.appView.getSettings().setLoadWithOverviewMode(true);
super.onCreate(savedInstanceState);
super.loadUrl("file:///android_asset/www/index.html");
}
}
我可以毫无问题地运行 ant debug install
但是当我在模拟器中启动应用程序时,出现以下错误:
E/AndroidRuntime( 549): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.apache.cordova.example/org.apache.cordova.example.cordovaExample}: java.lang.NullPointerException
E/AndroidRuntime( 549): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
E/AndroidRuntime( 549): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
E/AndroidRuntime( 549): at android.app.ActivityThread.access$600(ActivityThread.java:123)
E/AndroidRuntime( 549): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
E/AndroidRuntime( 549): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 549): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime( 549): at android.app.ActivityThread.main(ActivityThread.java:4424)
E/AndroidRuntime( 549): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 549): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime( 549): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
E/AndroidRuntime( 549): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
E/AndroidRuntime( 549): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 549): Caused by: java.lang.NullPointerException
E/AndroidRuntime( 549): at org.apache.cordova.example.cordovaExample.onCreate(cordovaExample.java:12)
E/AndroidRuntime( 549): at android.app.Activity.performCreate(Activity.java:4465)
E/AndroidRuntime( 549): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
E/AndroidRuntime( 549): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
E/AndroidRuntime( 549): ... 11 more
W/ActivityManager( 78): Force finishing activity org.apache.cordova.example/.cordovaExample
无论我为 android sdk 2.1 还是 4.3(在 Mac OS X Lion 上)打包,都会出现错误。
非常感谢任何帮助。
最佳答案
错误表明第 12 行出现 NullPointerException:
this.appView.getSettings().setUseWideViewPort(true);
要么 this.appView 为 null,要么 appView.getSettings() 返回 null。添加空值检查并查看它是哪一个。一旦知道空值是哪一个,就会更容易找出为什么那里有空值。
此外,与问题无关,不确定是否是拼写错误,但您的类名是驼峰式的。这样做是违反最佳实践的。以后这样做会让您感到困惑,因为驼峰命名法仅用于实例变量、成员和方法。类名总是首字母大写,包名总是小写。所以应该是
CordovaExample
而不是
cordovaExample
关于android - 重写 WebSettings cordovaExample.java 导致 PhoneGap 出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10048397/
我正在尝试使用以下代码在 webview 中加载 flash mWebView.getSettings().setJavaScriptEnabled(true); mWebView.getSettin
我有一个 WebView Activity ,想要缓存内容。默认情况下,它似乎没有使用缓存。 Android 的 WebSettings有几个不同的缓存相关常量。 当我将缓存模式设置为“LOAD_CA
我想在 WebView 中使用 webSetting allowFileAccessFromFileURLs 但 setter 已弃用。我应该如何设置这个参数。 最佳答案 显然您现在应该使用 WebV
webview 设置的 WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING 属性是否具有向后兼容性(在 API 级别 19 中引入)? ( http://devel
对于有经验的 android 程序员来说,这应该很容易。不幸的是我对android sdk一无所知。我正在使用 PhoneGap 打包 Web 应用程序,我需要覆盖 cordovaExample.ja
我正在使用以下代码将我的 Flash 游戏制作成 Android 应用程序。它工作得很好,但编译器给出了错误 The method setPluginState(WebSettings.PluginS
我想用函数将webview缩放到任意百分比 setDefaultZoom(WebSettings.ZoomDensity.valueOf(arg0) 但我不知道如何正确设置arg0的值。 我尝试使用s
这个问题已经有答案了: What is a NullPointerException, and how do I fix it? (12 个回答) 已关闭 6 年前。 我正在为我的网站创建一个应用程序
我正在尝试使用 Proguard 和 Eclipse 编译我的应用程序,但出现以下错误: Warning: com.adsdk.sdk.mraid.AdView: can't find referen
我是一名优秀的程序员,十分优秀!