1

У меня есть активность с именем MainActivity, у которой есть кнопка. При нажатии этой кнопки я показываю AlertDialog, который содержит пользовательский вид с именем ChildWindow.xml. Это пользовательское представление имеет несколько текстовых полей и кнопку OK. При нажатии кнопки «ОК» я вызываю метод MainActivity. Я могу получить доступ к ChildWindow здесьКак закрыть диалоговое окно предупреждения, отображающее пользовательский вид

view.getRootView().findViewById(R.id.txtFirstName); 

После того, как пользователь нажимает на кнопку OK, я должен закрыть предупредительного диалог, который я могу сделать, как view.getRootView().setVisibility(View.GONE);

Моя проблема в том, даже если я закрыли ChildWindow в приведенном выше описании, я могу получить ссылку на текстовое поле в следующей строке, что означает, что AlertDialog закрыт, но дочернее окно все еще существует. Это как OK щелчок кнопки выглядит следующим образом:

Это работает, как ожидалось:

EditText tb = (EditText) view.getRootView().findViewById(R.id.txtFirstName); 
    Toast toast = Toast.makeText(getApplicationContext(), tb.getText(), Toast.LENGTH_LONG); 
    toast.show(); 
    view.getRootView().setVisibility(View.GONE); 

Это не должно работать, как я закрыть диалоговое окно предупреждения, а затем получить ссылку на текстовое поле, но это тоже работает.

view.getRootView().setVisibility(View.GONE); 
    EditText tb = (EditText) view.getRootView().findViewById(R.id.txtFirstName); 
    Toast toast = Toast.makeText(getApplicationContext(), tb.getText(), Toast.LENGTH_LONG); 
    toast.show(); 

Я думаю, что закрываю диалоговое окно предупреждения, но я не уничтожаю его из памяти. Может ли кто-нибудь указать мне, что мне здесь не хватает?

ответ

0

просто позвоните в AlertDialog.dismiss(), чтобы фактически отклонить AlertDialog, который содержит ваш пользовательский вид.

Смежные вопросы