android - Fragment webview back button not working -
at navigationdrawer
menu , clicking search opens specific webview
in fragment
. works fine, when press on webview
- instead of getting last visited webscreen
comes main fragment
. how can solve this? i'm providing fragment
java file here. please mention other codes need (if needed) solve problem
public class googlefragment extends fragment { public webview mwebview; @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { view v = inflater.inflate(fragment_google, container, false); mwebview = (webview) v.findviewbyid(webview); mwebview.loadurl("https://google.com"); // enable javascript websettings websettings = mwebview.getsettings(); websettings.setjavascriptenabled(true); //improve webview performance mwebview.getsettings().setrenderpriority(websettings.renderpriority.high); mwebview.getsettings().setcachemode(websettings.load_cache_else_network); mwebview.getsettings().setappcacheenabled(true); mwebview.setscrollbarstyle(view.scrollbars_inside_overlay); websettings.setdomstorageenabled(true); websettings.setlayoutalgorithm(websettings.layoutalgorithm.narrow_columns); websettings.setusewideviewport(true); websettings.setsavepassword(true); websettings.setsaveformdata(true); websettings.setenablesmoothtransition(true); // force links , redirects open in webview instead of in browser mwebview.setwebviewclient(new webviewclient()); return v; } }
i think when press button fragment need handle inside of activity,
you need first override onbackpressed() method in main activity having fragment , global assign webview public in google fragment
note : when adding or replacing fragment keep adding tag, can helpful getting instance of fragment.
@override public void onbackpressed() { fragment fragment = getfragmentmanager().findfragmentbytag("google_fragment"); if (fragment instanceof googlefragment) { if (webview.cangoback()) { webview.goback(); } else { super.onbackpressed(); } }else{ super.onbackpressed(); } }
Comments
Post a Comment