2010-11-22 6 views
1

私は次の擬似コードを持っています。Android - onContextItemSelected内のAlertDialogが機能しない

public boolean onContextItemSelected(MenuItem aItem) { 
     switch(aItem.getItemId()) { 
      case A: { 
       new AlertDialog.Builder(this) 
        .setIcon(android.R.drawable.ic_dialog_alert) 
        .setTitle("Delete") 
        .setMessage("Delete?") 
        .setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
         @Override 
         public void onClick(DialogInterface dialog, int which) { 
          // do stuff A... 
         } 
        }); 

        // do stuff B... 

        return true; 
      } 
     } 
    } 

問題は、それが警告ダイアログを示したことがないということです。しかし、 "do stuff B ..."に記載されていることを行います。

AlertDialogが表示されている理由は誰にも分かりますか?

ありがとうございました!

答えて

2

あなたは().SHOW():)問題を解決

AlertDialog dialog = new AlertDialog.Builder(this) 
       .setIcon(android.R.drawable.ic_dialog_alert) 
       .setTitle("Delete") 
       .setMessage("Delete?") 
       .setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
        @Override 
        public void onClick(DialogInterface dialog, int which) { 
         dialog.dismiss(); 
        } 
       }).create(); 
dialog.show(); 

そして、あなたはもうそれを必要としないときは)(それを却下することができますが.createする必要があります。

編集:申し訳ありません。 .create():)を忘れました

+0

いつか私たちはいつか起こったと思います。 – Cristian

+0

完全に!私は問題を見つけて自分自身に腹を立てるまで、どのくらい頻繁に.show()を呼ぶのを忘れてしまったのか分かりませんでした。D –

+0

こんにちは、ありがとうございました。それはうまくいった。私はこれにカップル日のために苦しんだ後、馬鹿のように感じる。笑。まあ、次回は覚えていますね。 (私はアンドロイドnewb;)))ありがとう! – the5threvolution