Dialog does not appear

you need to call builder.show().


You have to call show() method instead of create().

Note: create() method only creates instance of Dialog but it won't show its.

One suggestion:

You can create method that returns Dialog like this:

public Dialog createNewDialog(int type) {
   AlertDialog dlg = null;
   switch (type) {
      case SOME_CONSTANT:
         dlg = new AlertDialog.Builder(ActivityName.this / this)
            .setTitle("Title")
            .setMessage("Message")
            .setPositiveButton("Yes", null)
            .create();
      break;
   }
}

Then you can call it as:

createNewDialog(SOME_CONSTANT).show();

and your Dialog will be shown.

Especially in your case you can reach your goal with this snippet of code:

@Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        switch (v.getId()) {
        case R.id.bAdd:
            createNewDialog(SOME_CONSTANT).show();
            break;
        }
    }

Hope it helps.


I have this issue and maybe this answer can help someone.

I was running the code to show the AlertDialog on a non-ui thread. After using:

runOnUiThread(new Runnable()
    {
        @Override
        public void run()
        {
            ShowAlert();
        }
    });

the AlertDialog worked.

Tags:

Android

Dialog