我的應用程序有一個按鈕,當用戶按下按鈕時顯示自定義DialogFragment
。該DialogFragment
是這個樣子:如何顯示相同的DialogFragment兩次或更多
if(searchDialog == null)
{
searchDialog = new SearchElementDialog();
searchDialog.setOnItemClickListener(searchElementItemClickListener);
}
searchDialog.show (getFragmentManager(), "SearchElement");
當用戶完成dismiss
被稱爲以通常的方式和對話被刪除。現在,當用戶再次按下相同的按鈕時,我想要顯示相同的對話框,與用戶離開它時處於相同的可見狀態,調用上面第一個塊中的代碼顯示對話框並恢復其視覺狀態,但:
屏幕不會變暗,並且在對話框外部按下不會消除它,並且它在對話框後面的控件也不會響應。
當軟鍵盤進入視圖時,對話框不會移動。
第一次顯示一切都很好。是否不可能再次顯示對話框的相同實例?
恐怕這是行不通的。 getDialog返回null,除非對話框已經可見,所以我不能用它來調用show。如果我調用getDialog()。dismiss()和searchDialog.show(),結果是一樣的。 – CurlyPaul 2014-09-03 12:31:22
@CurlyPaul是的,當你實例化它時會自動顯示,但是當你用'getDialog()。dismiss()'隱藏時,我確信你可以用'getDialog.show()'稍後顯示它。 – Simas 2014-09-03 12:33:45