Ich verwende DialogFragment
enthalten eine webview
. Nach dem Anzeigen der DialogFragment
, wenn die Schaltfläche zurück gedrückt wird, kehrt die App zur Aktivitätsansicht zurück. Wenn Sie die DialogFragment-Schaltfläche drücken, lädt der Webview die Init-URL erneut. Aber meine Anforderung ist, dass wenn ich das DialogFragment zum zweiten Mal öffne, ich möchte, dass die WebView-Seite zuletzt geladen wurde. Wie kann ich das erreichen?DialogFragment findFragmentByTag Rückgabe null
Mein aktueller Gedanke ist, halten Sie die DialogFragment-Instanz, wenn Sie die Show-Taste drücken, dann überprüfen, ob die Aktivität bereits das DialogFragment hat. Aber in meinem Code, findFragmentByTag
immer Null, was ist das Problem? Oder sollte ich etwas im DialogFragment arbeiten?
Hauptaktivitätscode:
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 Code:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
//other code
m_webView.loadUrl(m_loadurl);
return m_webView;
}
'prev = dialogMap.get ("mcWebDialog") durchführen get();.' Aber wie es zeigen? – spartawhy117
aktualisiert meine Antwort – Techfist
schließlich wähle ich den Dialog ausblenden, anstatt es zu speichern. – spartawhy117