onBackPressed方法和onKeyDown工作不正常



我正在使用此代码打开新的活动

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);
}

请帮我如何操作后退按钮提前感谢。

这样使用:

@Override
public void onBackPressed() {
Toast.makeText(this, "BAck Click", Toast.LENGTH_LONG).show();
finish();
startActivity(new Intent(context, Tab_Bar.class));
super.onBackPressed();
return;
}

只需写入:

@Override
public void onBackPressed() {
super.onBackPressed();
finish();
Toast.makeText(this, "BAck Click", Toast.LENGTH_LONG).show();
startActivity(new Intent(context, Tab_Bar.class));
}

它会起作用的。。

首先,您应该在开始下一个活动后完成当前活动。这些电话的订单应该是另一种方式。

startActivity(new Intent(context, Tab_Bar.class));    
finish();

此外,由于您正在处理后退按钮,因此根本不要调用super.onBackPressed();。因为它所做的是完成当前的活动,但你已经在做了

试试这个简单的代码。将webView更改为WebView var

@Override
public void onBackPressed() {
if (webView.canGoBack()) {
webView.goBack();
} else {
super.onBackPressed();
}
}

最新更新