jquerymobileとAndroidsdkを使用してWebアプリを開発する方法を学んでいます。私のウェブアプリは、次のものが読み込まれるいくつかのページで構成されています。
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.html2-スマートフォンの戻るボタンをクリックします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がnullポインタ例外を返すのはなぜですか?????
どうもありがとう。