我在彈出Dialog的代碼是這樣子寫的:
private void deleteConfDialog(final EoItems deletItems) {AlertDialog.Builder builder = new Builder(ownContext); final View exitV=LayoutInflater.from(ownContext).inflate(R.layout.exitdialog, null); TextView dialogContent=(TextView) exitV.findViewById(R.id.diao_config); dialogContent.setText("確定刪除"); builder.setView(exitV);//設定對話方塊顯示的View對象 builder.setPositiveButton(R.string.app_exit_ok, new android.content.DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); //checkedItem.add(deletItems); //deleteCheckedItem(); } }); builder.setNegativeButton(R.string.app_exit_cancle, new android.content.DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); builder.create().show(); }
其中ownContext是我儲存下來的而我調用時候用了getApplicationContext()而不是Activity.this所以導致報這個錯是在於new
AlertDialog.Builder(mcontext),雖然這裡的參數是AlertDialog.Builder(Context context)但我們不能使用getApplicationContext()獲得的Context,而必須使用Activity,因為只有一個Activity才能添加一個表單。
解決方案:將new AlertDialog.Builder(Context context)中的參數用Activity.this(Activity是你的Activity的名稱)來填充