내 응용 프로그램에는 사용자가 단추를 누를 때 사용자 지정 DialogFragment
을 표시하는 단추가 있습니다. DialogFragment
은 다음과 같이 표시됩니다 : 사용자가 dismiss
을 완료동일한 DialogFragment를 두 번 이상 표시하는 방법
if(searchDialog == null)
{
searchDialog = new SearchElementDialog();
searchDialog.setOnItemClickListener(searchElementItemClickListener);
}
searchDialog.show (getFragmentManager(), "SearchElement");
일반적인 방법으로 호출되고 대화 상자가 제거됩니다. 이제 사용자가 동일한 버튼을 다시 누르면 동일한 대화 상자가 표시됩니다. 사용자가 왼쪽과 동일한 표시 상태에서 위의 첫 번째 블록에서 코드를 호출하면 대화 상자가 표시되고 시각 상태가 복원되지만 :
화면이 흐리게 표시되지 않고 대화 상자 외부를 누르면이를 닫지 않고 아무 것도 응답하지 않는 컨트롤입니다.
소프트 키 보드가 나타나면 대화 상자가 움직이지 않습니다.
처음에는 모든 것이 정상입니다. 대화 상자의 동일한 인스턴스를 다시 표시 할 수 있습니까?
나는 이것이 작동하지 않을까 걱정됩니다. 대화 상자가 이미 표시되어 있지 않으면 getDialog가 null을 반환하므로 show를 호출하는 데 사용할 수 없습니다. getDialog(). dismiss() 및 searchDialog.show()를 호출하면 결과가 동일합니다. – CurlyPaul
@CurlyPaul 네가 인스턴스화 할 때 네가 자동으로 보이지만 네가'getDialog(). dismiss()'로 숨길 때'getDialog.show()'로 나중에 보여줄 수있을 것이라 확신한다. – Simas