i having issues webview on rotation app resets default url. have hunted round solution , tried number on here , run different issues each.
this in .java code
package uk.co.grcade.grcade; import android.support.v7.app.actionbaractivity; import android.os.bundle; import android.view.menu; import android.view.menuitem; import android.app.activity; import android.util.log; import android.view.keyevent; import android.webkit.webview; import android.view.view; import android.webkit.downloadlistener; import android.webkit.webviewclient; public class grcade extends activity { webview web; string weburl = "http://grcade.co.uk"; @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_grcade); if (savedinstancestate != null) { web.loadurl(weburl); } web = (webview) findviewbyid(r.id.web); web.getsettings().setjavascriptenabled(true); web.loadurl(weburl); web.setpadding(0, 0, 0, 0); web.getsettings().setloadwithoverviewmode(true); web.getsettings().setusewideviewport(true); web.getsettings().setsupportzoom(true); web.getsettings().setbuiltinzoomcontrols(true); web.getsettings().setdisplayzoomcontrols(false); } @override protected void onsaveinstancestate (bundle outstate ) { super.onsaveinstancestate(outstate); web.savestate(outstate); } @override protected void onrestoreinstancestate(bundle savedinstancestate) { super.onrestoreinstancestate(savedinstancestate); web.restorestate(savedinstancestate); } @override public boolean oncreateoptionsmenu(menu menu) { // inflate menu; adds items action bar if present. getmenuinflater().inflate(r.menu.menu_grcade, menu); return true; } private class hellowebviewclient extends webviewclient { public boolean shouldoverrideurlloading(webview web, string url) { web.loadurl(url); return true; } } public boolean onkeydown(int ketcode, keyevent event) { if ((ketcode == keyevent.keycode_back) && web.cangoback()) { web.goback(); return true; } return true; } @override public boolean onoptionsitemselected(menuitem item) { // handle action bar item clicks here. action bar // automatically handle clicks on home/up button, long // specify parent activity in androidmanifest.xml. int id = item.getitemid(); //noinspection simplifiableifstatement if (id == r.id.action_settings) { return true; } return super.onoptionsitemselected(item); } } i got code post on here can't comment ask why line:
web = (webview) findviewbyid(r.id.web); is showing unable resolve symbol error, new whole thing appreciate on how can error go away , allow me have webview app can rotated without resetting default page.
thanks.
your problem in oncreate method. code
public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_grcade); if (savedinstancestate != null) { web.loadurl(weburl); } ......... ......... you check if bundle object not null , load url. instead, should restoring state when bundle object not null. this
if (savedinstancestate != null) { webview.restorestate(savedinstancestate); } else { webview.loadurl("http://grcade.co.uk"); }
Comments
Post a Comment