Java 停止Android后退按钮以重新启动活动
我正在制作一个应用程序,加载主要内容的网络视图。我有一个菜单充气机,将提供一些链接。我用菜单上的充气器作为警告标签。“您确定要离开此页面吗?”但如果用户不想离开此页面,我希望他们能够按“上一步”按钮返回webview。我遇到的问题是,后退按钮重新启动活动并重新加载网页 我尝试将我的savedContentState打包发送到menu类,但当我按下back按钮时,我不知道如何将其应用到我的webview 主要类别:Java 停止Android后退按钮以重新启动活动,java,android,android-activity,menu,webview,Java,Android,Android Activity,Menu,Webview,我正在制作一个应用程序,加载主要内容的网络视图。我有一个菜单充气机,将提供一些链接。我用菜单上的充气器作为警告标签。“您确定要离开此页面吗?”但如果用户不想离开此页面,我希望他们能够按“上一步”按钮返回webview。我遇到的问题是,后退按钮重新启动活动并重新加载网页 我尝试将我的savedContentState打包发送到menu类,但当我按下back按钮时,我不知道如何将其应用到我的webview 主要类别: protected void onRestoreInstanceState(Bun
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()的后退按钮
所以loadUrl让webView重新加载,而不是让活动重新启动。我解决了这个问题。按下名为onResume()的后退按钮
所以loadUrl是让webView重新加载,而不是让活动重新启动。如果你用getIntent()获得了意图并启动它,你会不会重新启动你的意图,这正是你想要避免的事情?我只是在胡闹,我真的不知道该怎么办。如果你根本不使用onKeyDown方法会发生什么?如果我不使用onKeyDown,那么当我按下后退按钮时,主类会重新加载WebView如果你用getIntent()获得意图并启动它,你会重新启动你的意图吗,你想避免的事情是什么?我只是在胡闹,实际上我不知道该怎么办。如果你根本不使用onKeyDown方法会发生什么?如果我不使用onKeyDown,那么当我按下后退按钮时,主类会不断重新加载webview
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
web.loadUrl(stream);
}