0

我正在学习使用 jquerymobile 和 Android sdk 开发网络应用程序。我的网络应用程序在一些加载的页面中构建:

private void loadURL(final String in){
    handler.post(new Runnable() {
        public void run() {
            webView.loadUrl(in);
        }
    });
}

public void loadPage(String in){
    final String url = HTML_ROOT + in;
    loadURL(url);
}

这是我的 onCreate 方法:

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    webView = new WebView(this); //super.init();

    setContentView(webView);
    webView.getSettings().setJavaScriptEnabled(true);   

    .....

    handler = new Handler();
    webView.addJavascriptInterface(this, "MyTeam");       
    loadPage("menu.html");

}

和 onkeydown 方法:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
   if(webView == null){
          Log.d("My Tag", "Webview is null on KeyCode: " + String.valueOf(keyCode));
        }
        if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
            webView.goBack();
            return true;
        }
        return super.onKeyDown(keyCode, event);
}

问题是: 示例 a: 1- 从 menu.html 我进入另一个页面 xxx.html 2- 我单击智能手机上的后退按钮 3- onKeyDown 被触发

示例 b:1-来自 menu.html 我单击智能手机后退按钮或其他按钮

返回 super.onkeydown 后,我在示例 a 和示例 b 中返回:

12-01 15:34:56.796: E/AndroidRuntime(14048): FATAL EXCEPTION: main
12-01 15:34:56.796: E/AndroidRuntime(14048): java.lang.NullPointerException
12-01 15:34:56.796: E/AndroidRuntime(14048):    at org.apache.cordova.DroidGap.onKeyUp(DroidGap.java:1018)

为什么 DroidGapClass 给我返回空指针异常??????

非常感谢。

4

0 回答 0