我正在使用此代码打开新活动
View view = getLocalActivityManager().startActivity("recently_viewd",
new Intent(context,Job_Description.class)
.putExtra("line", result)
.putExtra("limit",0)
.putExtra("Alert", false)
.putExtra("str_Descrption",edit_Jobdesc.getText().toString().trim())
.putExtra("str_location", edit_JobLoc.getText().toString().trim()).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))
.getDecorView();
setContentView(view);
在Job_Description.class中,我想处理android后退键。 我在Job_Description.class上覆盖了OnBackPressed()方法,但它无效。
@Override
public void onBackPressed() {
super.onBackPressed();
Toast.makeText(this, "BAck Click", Toast.LENGTH_LONG).show();
finish();
startActivity(new Intent(context, Tab_Bar.class));
return;
}
之后我实现了OnKeyDown()方法,但它也无效。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
Toast.makeText(this, "BAck Click", Toast.LENGTH_LONG).show();
finish();
startActivity(new Intent(context, Tab_Bar.class));
return true;
}
return super.onKeyDown(keyCode, event);
}
请帮助我如何处理后退按钮 在此先感谢。
答案 0 :(得分:3)
像这样使用:
@Override
public void onBackPressed() {
Toast.makeText(this, "BAck Click", Toast.LENGTH_LONG).show();
finish();
startActivity(new Intent(context, Tab_Bar.class));
super.onBackPressed();
return;
}
答案 1 :(得分:0)
只需写下:
@Override
public void onBackPressed() {
super.onBackPressed();
finish();
Toast.makeText(this, "BAck Click", Toast.LENGTH_LONG).show();
startActivity(new Intent(context, Tab_Bar.class));
}
它会起作用..
答案 2 :(得分:0)
首先,您应该在开始下一个活动后完成当前活动。订单应该是这些电话的另一种方式。
startActivity(new Intent(context, Tab_Bar.class));
finish();
此外,由于您正在处理后退按钮,因此请勿致电super.onBackPressed();
。因为它的作用是完成当前的活动,但你已经在做了。
答案 3 :(得分:0)
尝试以下简单代码。将webView
更改为您的WebView变量
@Override
public void onBackPressed() {
if (webView.canGoBack()) {
webView.goBack();
} else {
super.onBackPressed();
}
}