0
我使用DialogFragment
包含一個webview
。在顯示DialogFragment
後,當按下後退按鈕時,應用程序將返回活動視圖。如果按下顯示DialogFragment按鈕,webview將再次加載init url。但我的要求是,如果第二次打開DialogFragment,我想上次加載的webview顯示頁面。我怎樣才能做到這一點?DialogFragment findFragmentByTag return null
我當前的想法是保持DialogFragment實例,當按下顯示按鈕,然後檢查活動是否已經有DialogFragment。但在我的代碼中,findFragmentByTag
總是返回null,那有什麼問題?或者我應該在DialogFragment中做一些工作?
主要活動代碼:
mcWebViewDialog m_webviewDialog = null;
public void showWebviewDialog()
{
FragmentManager fragmentManager=getFragmentManager();
FragmentTransaction fragmentTransaction=fragmentManager.beginTransaction();
Fragment prev=fragmentManager.findFragmentByTag("mcWebDialog");
if(prev!=null)
{
Log.v("seayoung","m_webviewDialog not null");
fragmentTransaction.show(prev);
}
else
{
Log.v("seayoung","m_webviewDialog null");
m_webviewDialog=mcWebViewDialog.newInstance();
m_webviewDialog.set_loadurl("file:///android_asset/input.html");
m_webviewDialog.show(fragmentManager,"mcWebDialog");
}
}
WebViewDialog代碼:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
//other code
m_webView.loadUrl(m_loadurl);
return m_webView;
}
'分組= dialogMap.get( 「mcWebDialog」)獲得();'但是如何表現呢? – spartawhy117
最後我更新了我的回答 – Techfist
,我選擇隱藏對話框而不是存儲它。 – spartawhy117