java - How can I control android webview activity changes when I change screen orientation? -
import android.app.activity; import android.app.alertdialog; import android.content.context; import android.content.dialoginterface; import android.content.intent; import android.content.res.configuration; import android.graphics.bitmap; import android.net.connectivitymanager; import android.net.networkinfo; import android.os.bundle; import android.support.v4.widget.swiperefreshlayout; import android.support.v4.widget.swiperefreshlayout.onrefreshlistener; import android.support.v7.app.actionbar; import android.support.v7.app.actionbaractivity; import android.view.keyevent; import android.view.menu; import android.view.menuinflater; import android.view.menuitem; import android.webkit.webchromeclient; import android.webkit.webview; import android.webkit.webviewclient; import android.widget.progressbar; import com.gc.materialdesign.views.progressbardeterminate; import java.util.logging.handler; import javax.security.auth.destroyable; /** * created myozawoo on 4/9/15. */ public class homeactivity extends actionbaractivity{ webview wv; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_webview); wv = (webview) findviewbyid(r.id.myweb); wv.getsettings().setjavascriptenabled(true); wv.getsettings().setjavascriptcanopenwindowsautomatically(true); wv.getsettings().setdomstorageenabled(true); wv.setwebviewclient(new mywebviewclient()); wv.setwebchromeclient(new mywebchromeclient()); wv.loadurl("http://www.mmcloudschooling.com"); } @override protected void onrestoreinstancestate(bundle savedinstancestate) { super.onrestoreinstancestate(savedinstancestate); wv.restorestate(savedinstancestate); } @override public void onbackpressed() { if (wv.cangoback()) { wv.goback(); } else { finish(); } } private class mywebviewclient extends webviewclient { @override public void onpagestarted(webview view, string url, bitmap favicon) { // todo auto-generated method stub super.onpagestarted(view, url, favicon); progressbardeterminate pb = (progressbardeterminate) findviewbyid(r.id.progress); pb.setvisibility(progressbardeterminate.visible); } @override public void onpagefinished(webview view, string url) { // todo auto-generated method stub super.onpagefinished(view, url); progressbardeterminate pb = (progressbardeterminate) findviewbyid(r.id.progress); pb.setvisibility(progressbardeterminate.gone); } } private class mywebchromeclient extends webchromeclient { @override public void onprogresschanged(webview view, int newprogress) { progressbardeterminate pb = (progressbardeterminate) findviewbyid(r.id.progress); pb.setprogress(newprogress); super.onprogresschanged(view, newprogress); } } @override public boolean oncreateoptionsmenu(menu menu) { // inflate menu; adds items action bar if present. menuinflater inflater = getmenuinflater(); inflater.inflate(r.menu.menu_main, menu); return super.oncreateoptionsmenu(menu); } @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) { wv.reload(); return true; } return super.onoptionsitemselected(item); } }
when made screen orientation change, web view reach home page automatically. wanna make web view activity prevent restart activity when made screen orientation change. please, tell me how do. sorry poor english.
use savedinstancestate
. load url when null.
@override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_webview); wv = (webview) findviewbyid(r.id.myweb); wv.getsettings().setjavascriptenabled(true); wv.getsettings().setjavascriptcanopenwindowsautomatically(true); wv.getsettings().setdomstorageenabled(true); wv.setwebviewclient(new mywebviewclient()); wv.setwebchromeclient(new mywebchromeclient()); if (savedinstancestate == null) { wv.loadurl("http://www.mmcloudschooling.com"); } else { wv.restorestate(savedinstancestate); } } @override protected void onsaveinstancestate(bundle outstate ) { super.onsaveinstancestate(outstate); wv.savestate(outstate); } @override protected void onrestoreinstancestate(bundle savedinstancestate) { super.onrestoreinstancestate(savedinstancestate); wv.restorestate(savedinstancestate); }
Comments
Post a Comment