[英]Stop Android back button from restarting Activity
我正在制作一个加载主要内容的网络视图的应用程序。 我有一个菜单充气机,将提供一些链接。 我正在使用菜单充气机作为警告标签。 “确定要离开此页面吗?” 但是,如果用户不想离开此页面,我希望他们能够按“后退”按钮返回到Web视图。 我遇到的问题是后退按钮可重新启动活动并重新加载网页。
我试图将捆绑保存的ContentState发送到菜单类中,但是当我按下后退按钮时,我不知道如何将其应用于Webview。
主类:
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
web.restoreState(savedInstanceState);
Intent in = new Intent(getApplicationContext(), DBZWiki.class);
in.putExtras(savedInstanceState);
startActivity(in);
}
public boolean onCreateOptionsMenu(android.view.Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.dbz_menu, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.dbzAbout:
break;
case R.id.dbzDonate:
break;
case R.id.dbzWiki:
Intent a = new Intent("com.example.thenewboston.DBZWIKI");
startActivity(a);
break;
}
return false;
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
web.loadUrl("file:///android_asset/infAppPaused.html");
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
web.loadUrl(stream);
}
}
Wiki菜单类别:
public class DBZWiki extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.dbz_wiki);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK) {
Intent in = getIntent();
startActivity(in);
}
return true;
}
我解决了问题。 按下后退按钮,称为onResume()。
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
web.loadUrl(stream);
}
因此loadUrl正在重新加载webView,而不是重新启动活动。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.