Я думаю, вам следует воссоздать Dialog
, так как кажется, что DialogInterface
, заданный в качестве параметра в onClick()
, не дает вам возможности остановить закрытие Dialog
.
У меня также есть пара советов для вас:
Попробуйте использовать Activity.onCreateDialog()
, Activity.onPrepareDialog()
и, конечно, Activity.showDialog()
. Они значительно упрощают использование диалогов (по крайней мере для меня), также использование диалогов больше похоже на использование меню. Используя эти методы, вы также сможете более легко показывать диалог снова.
Я хочу дать вам совет. Это не ответ на ваш вопрос, но делать это в ответе гораздо удобнее для чтения.
Вместо удержания ссылки на объект AlertDialog.Builder()
, вы можете просто сделать:
new AlertDialog.Builder(this)
.setTitle("Record New Track")
.setMessage("Please Name Your Track:")
//and some more method calls
.create();
//or .show();
Сохраняет вам ссылки и много печатает;). (почти?) Все методы AlertDialog.Builder
возвращают объект AlertDialog.Builder
, к которому можно напрямую вызывать метод.
То же самое относится к Toast
с:
Toast.makeText(this, "Please enter...", Toast.LENGTH_LONG).show();