首先我會粘貼我的代碼。如何在SaveInstanceState中保存兩個webview?
public class ZSEEActivity extends TabActivity {
private WebView webview ;
private WebView webviewtwo;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Activity activity = this;
TabHost mTabHost = getTabHost();
mTabHost.addTab(mTabHost.newTabSpec("tab_test1").setIndicator("Zastępstwa").setContent(R.id.tab1));
mTabHost.addTab(mTabHost.newTabSpec("tab_test2").setIndicator("Plan Lekcji").setContent(R.id.tab2));
mTabHost.addTab(mTabHost.newTabSpec("tab_test3").setIndicator("O programie").setContent(R.id.tab3));
mTabHost.setCurrentTab(0);
webview = (WebView) findViewById(R.id.webView1);
webviewtwo = (WebView) findViewById(R.id.webView2);
WebSettings webviewtwoSettings = webviewtwo.getSettings();
if (savedInstanceState != null){
webview.restoreState(savedInstanceState);
webviewtwo.restoreState(savedInstanceState);
}
else{
webview.loadUrl("http://zsee.bytom.pl/ogloszenia.php");
webviewtwoSettings.setDefaultFontSize(30);
webviewtwo.loadUrl("http://zsee.bytom.pl/plany/index.html");
}
webview.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
String summary = "<html><body><meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" ><center>Coś się zepsuło :(</center></body></html>";
webview.loadData(summary, "text/html","utf-8");
Toast.makeText(activity, "O nie! " + description, Toast.LENGTH_SHORT).show();
}
});
webviewtwo.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
String summary = "<html><body><meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" ><center>Coś się zepsuło :(</center></body></html>";
webviewtwo.loadData(summary, "text/html","utf-8");
Toast.makeText(activity, "O nie! " + description, Toast.LENGTH_SHORT).show();
}
});
}
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
return true;
}
protected void onSaveInstanceState(Bundle outState, Bundle Test) {
webview.saveState(outState);
webviewtwo.saveState(Test);
}
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.item1:
AlertDialog alertdialog= new AlertDialog.Builder(this).create();
alertdialog.setTitle("Pomoc");
alertdialog.setMessage("Lepszy Planer od Sierran'a :>");
alertdialog.show();
return true;
case R.id.item2:
finish();
case R.id.item3:
webview.loadUrl("http://zsee.bytom.pl/ogloszenia.php");
System.out.print("ss");
default:
return super.onOptionsItemSelected(item);
}
}
}
現在是我的問題。我有兩個webview小部件。一個叫做webview,另一個叫webviewtwo。我是android程序中的新手,所以我有問題如何在onSaveInstanceState中保存兩個小部件以及如何恢復它們。現在webviewtwo覆蓋webview和webview窗口我有webviewtwo網頁。如何解決它並做對嗎?
Sierran
謝謝:)現在,所有的工作,我知道如何使用SaveInstanceState: ) – Sierran