我使用下面的代碼,以阻止重新加載網頁Android的方向變化的WebView
public class MainActivity extends Activity {
WebView webView;
@Override
protected void onSaveInstanceState(Bundle outState) {
WebView webView1 = (WebView)findViewById(R.id.webView);
webView1.saveState(outState);
}
@SuppressLint("SetJavaScriptEnabled")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = (WebView)findViewById(R.id.webView);
String url="http://www.google.com";
if (savedInstanceState != null)
{
((WebView)findViewById(R.id.webView)).restoreState(savedInstanceState);
}
else{
webView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
String name = MainActivity.this.webView.getTitle();
TextView t=(TextView)findViewById(R.id.title);
t.setText(name);
Toast.makeText(getApplicationContext(), name, Toast.LENGTH_SHORT).show();
}
});
final Activity activity = this;
final ProgressDialog progressDialog = new ProgressDialog(activity);
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setMessage("Loading...");
progressDialog.setCancelable(false);
final ProgressBar progressBar = (ProgressBar)findViewById(R.id.progressBar1);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setUserAgentString("Android");
webView.setWebChromeClient(new WebChromeClient()
{
public void onProgressChanged(WebView view, int progress) {
progressBar.setVisibility(View.VISIBLE);
progressDialog.setProgress(0);
activity.setProgress(progress * 1000);
progressDialog.incrementProgressBy(progress);
if(progress > 75)
progressBar.setVisibility(View.GONE);
}
}
);
webView.loadUrl(url);
}
,並在我的清單文件
使用android:configChanges="orientation|keyboard|keyboardHidden"
但是當我運行它,並改變我的手機的方向。
頁面仍然重新加載並且進度條開始顯示並且從不關閉。
任何人都可以告訴我這是怎麼回事?
您可以發佈您的佈局xml文件也。所以同時我會嘗試測試你的代碼。 – 2012-07-14 16:36:39
此代碼正在使用薑餅,但無法在ICS上工作 – Badal 2012-07-14 17:40:45
ICS OS 4.0.0有一些問題。嘗試使用OS 4.0.3或其他操作系統。 – 2012-07-15 07:09:53