2011-07-17 12 views
0

onOptionsItemSelectedメソッド内からAlertDialogと表示される問題が発生しています。つまり、ユーザーが削除オプションボタンを押して、dbから項目を削除する前に削除を確認する必要があります。私の現在のコードを実行すると、プログラムがクラッシュします。誰かが助けることを願っています。感謝:)AlertDialogが表示されずクラッシュする

ここで私は

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

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle item selection 
     switch(item.getItemId()) { 
     case R.id.rename: 
     openRenameDialog(); 
     return true; 
     case R.id.delete:   
     openDeleteDialog(); 
     return true; 
     default: 
     return super.onOptionsItemSelected(item); 
     } 
    } 

    private void openDeleteDialog() { 
     AlertDialog.Builder alert = new AlertDialog.Builder(this); 
     alert.setTitle(R.string.deleteTitle); 
     alert.setMessage(R.string.deleteMessage); 

     alert.setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int whichButton) { 
      // todo  
     } 
     }); 

     alert.setNegativeButton("No", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int whichButton) { 
      dialog.cancel(); 
     } 
     }); 

    alert.show(); 
} 

Logcat出力持っているもののコードスニペットです:

 
07-17 14:16:57.845: WARN/KeyCharacterMap(2304): No keyboard for id 0 
07-17 14:16:57.845: WARN/KeyCharacterMap(2304): Using default keymap: /system/usr/keychars/qwerty.kcm.bin 
07-17 14:17:01.564: WARN/ResourceType(2304): getEntry failing because entryIndex 24 is beyond type entryCount 24 
07-17 14:17:01.564: WARN/ResourceType(2304): Failure getting entry for 0x7f040018 (t=3 e=24) in package 0 (error -2147483647) 
07-17 14:17:01.564: DEBUG/AndroidRuntime(2304): Shutting down VM 
07-17 14:17:01.574: WARN/dalvikvm(2304): threadid=1: thread exiting with uncaught exception (group=0x40015560) 
07-17 14:17:01.594: ERROR/AndroidRuntime(2304): FATAL EXCEPTION: main 
07-17 14:17:01.594: ERROR/AndroidRuntime(2304): android.content.res.Resources$NotFoundException: String resource ID #0x7f040018 
07-17 14:17:01.594: ERROR/AndroidRuntime(2304):  at android.content.res.Resources.getText(Resources.java:201) 
07-17 14:17:01.594: ERROR/AndroidRuntime(2304):  at android.content.Context.getText(Context.java:173) 
07-17 14:17:01.594: ERROR/AndroidRuntime(2304):  at android.app.AlertDialog$Builder.setMessage(AlertDialog.java:318) 
07-17 14:17:01.594: ERROR/AndroidRuntime(2304):  at tod.dosetracker.DetailsActivity.openDeleteDialog(DetailsActivity.java:63) 
07-17 14:17:01.594: ERROR/AndroidRuntime(2304):  at tod.dosetracker.DetailsActivity.onOptionsItemSelected(DetailsActivity.java:48) 
07-17 14:17:01.594: ERROR/AndroidRuntime(2304):  at android.app.Activity.onMenuItemSelected(Activity.java:2205) 
07-17 14:17:01.594: ERROR/AndroidRuntime(2304):  at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:748) 
07-17 14:17:01.594: ERROR/AndroidRuntime(2304):  at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:143) 
07-17 14:17:01.594: ERROR/AndroidRuntime(2304):  at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:855) 
07-17 14:17:01.594: ERROR/AndroidRuntime(2304):  at com.android.internal.view.menu.IconMenuView.invokeItem(IconMenuView.java:532) 
07-17 14:17:01.594: ERROR/AndroidRuntime(2304):  at com.android.internal.view.menu.IconMenuItemView.performClick(IconMenuItemView.java:122) 
07-17 14:17:01.594: ERROR/AndroidRuntime(2304):  at android.view.View$PerformClick.run(View.java:9080) 
07-17 14:17:01.594: ERROR/AndroidRuntime(2304):  at android.os.Handler.handleCallback(Handler.java:587) 
07-17 14:17:01.594: ERROR/AndroidRuntime(2304):  at android.os.Handler.dispatchMessage(Handler.java:92) 
07-17 14:17:01.594: ERROR/AndroidRuntime(2304):  at android.os.Looper.loop(Looper.java:123) 
07-17 14:17:01.594: ERROR/AndroidRuntime(2304):  at android.app.ActivityThread.main(ActivityThread.java:3683) 
07-17 14:17:01.594: ERROR/AndroidRuntime(2304):  at java.lang.reflect.Method.invokeNative(Native Method) 
07-17 14:17:01.594: ERROR/AndroidRuntime(2304):  at java.lang.reflect.Method.invoke(Method.java:507) 
07-17 14:17:01.594: ERROR/AndroidRuntime(2304):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
07-17 14:17:01.594: ERROR/AndroidRuntime(2304):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
07-17 14:17:01.594: ERROR/AndroidRuntime(2304):  at dalvik.system.NativeStart.main(Native Method) 
07-17 14:17:01.604: WARN/ActivityManager(60): Force finishing activity tod.dosetracker/.DetailsActivity 
07-17 14:17:02.114: WARN/ActivityManager(60): Activity pause timeout for HistoryRecord{407e38f0 tod.dosetracker/.DetailsActivity} 
07-17 14:17:11.615: WARN/ActivityManager(60): Launch timeout has expired, giving up wake lock! 
07-17 14:17:12.156: WARN/ActivityManager(60): Activity idle timeout for HistoryRecord{406dbd10 tod.dosetracker/.FoodListActivity} 
07-17 14:17:17.388: WARN/ActivityManager(60): Activity destroy timeout for HistoryRecord{407e38f0 tod.dosetracker/.DetailsActivity} 
+0

私のテストアプリケーションでコードを試したところ、私は 'AlertDialog'を作成していました。コードのどこかでエラーが発生しているようです。あなたはスタックトレースを投稿できますか? – Wroclai

+0

私はlogcatをtxtファイルに出力しましたが、かなり大きかったです。ファイルを投稿する方法はありますか?申し訳ありませんが、私の最初の投稿はST – Arcadia

+0

です。上記のlogcat出力を投稿しました:) – Arcadia

答えて

0

あなたがXMLでdeleteTitleとdeleteMessage文字列を持っていることを確認してください。

AlertDialog.Builder alert = new AlertDialog.Builder(getApplicationContext()); 
+0

動作しませんでした..:S – Arcadia

+0

両方のリソースも存在します。 – Arcadia

+0

あなたのlogcatを投稿してください – Rasel

関連する問題