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

Popular posts from this blog

html - How to set bootstrap input responsive width? -

javascript - Highchart x and y axes data from json -

javascript - Get js console.log as python variable in QWebView pyqt -