1

버튼이있는 MainActivity이라는 작업이 있습니다. 그 버튼을 클릭하면 ChildWindow.xml이라는 사용자 정의보기가 포함 된 AlertDialog가 표시됩니다. 해당 사용자 지정보기에는 여러 텍스트 상자와 확인 단추가 있습니다. 확인 버튼을 클릭하면 MainActivity 메소드가 호출됩니다. 내가 OK (확인) 버튼을 사용자가 클릭 한 번사용자 정의보기를 표시하는 경고 대화 상자를 닫는 방법

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

로 여기 ChildWindow에 액세스 할 수 있어요, 난 내 문제는 내가하지만 짝수 내가 view.getRootView().setVisibility(View.GONE);

로 할 수 있어요 경고 대화 상자를 닫해야 위의 문장에서 ChildWindow를 닫았습니다. AlertDialog가 닫혀 있지만 자식 창이 여전히 있다는 것을 의미하는 다음 줄의 텍스트 상자에 대한 참조를 얻을 수 있습니다. 이 예상대로 작동

:이 같은 확인 버튼 클릭이 모습입니다

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를 실제로 닫으십시오.