1

どこが間違っているのか教えてください。コードはコンパイル時エラーを発生しませんが、実行時に強制シャットダウン エラーを発生します。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    WebView wv = (WebView) findViewById(R.id.webView1);
    wv.loadUrl("file:///android_asset/page1.html");

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_menu, menu);
    return super.onCreateOptionsMenu(menu);
}

public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case R.id.item1:

        wv.loadUrl("file:///android_asset/page1.html");
        return true;
    case R.id.item2:

        wv.loadUrl("file:///android_asset/page2.html");
        return true;
    case R.id.item3:

        wv.loadUrl("file:///android_asset/page3.html");
        return true;
    case R.id.item4:
        wv.loadUrl("file:///android_asset/page4.html");
        return true;

    }
    return super.onOptionsItemSelected(item);
}

例外のスタック トレースは次のとおりです。 internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java‌ :748) com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:143) com.android.internal.view.menu.MenuBuilder com.android.internal.view.menu.IconMenuView.invokeItem(IconMenuView.java:532) の .performItemAction(MenuBuilder.java:85‌ 5)

4

3 に答える 3

1

それぞれの場合に同じ Web ビューの新しいオブジェクトを作成するだけで問題を解決できました。実行中のコードは以下のとおりです。


public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.item1: WebView wv1 = (WebView) findViewById(R.id.webView1); wv1.loadUrl("file:///android_asset/resume_page1.html"); return true; case R.id.item2: WebView wv2 = (WebView) findViewById(R.id.webView1); wv2.loadUrl("file:///android_asset/resume_page2.html"); return true; case R.id.item3: WebView wv3 = (WebView) findViewById(R.id.webView1); wv3.loadUrl("file:///android_asset/resume_page3.html"); return true; case R.id.item4: WebView wv4 = (WebView) findViewById(R.id.webView1); wv4.loadUrl("file:///android_asset/resume_page4.html"); return true;

于 2012-10-13T11:20:09.340 に答える