Android onBackPressed方法和onKeyDown无法正常工作

Android onBackPressed方法和onKeyDown无法正常工作,android,android-tabhost,android-tabactivity,Android,Android Tabhost,Android Tabactivity,我正在使用此代码打开新活动 View view = getLocalActivityManager().startActivity("recently_viewd", new Intent(context,Job_Description.class) .putExtra("line", result) .putExtra("limit",0)

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

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的back key。 我重写了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;
 }
 @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);
 }
之后,我实现了OnKeyDown()方法,但它也不起作用

@Override
 public void onBackPressed() {
     super.onBackPressed();
     Toast.makeText(this, "BAck Click", Toast.LENGTH_LONG).show();
     finish();
        startActivity(new Intent(context, Tab_Bar.class));
 return;
 }
 @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() {

     Toast.makeText(this, "BAck Click", Toast.LENGTH_LONG).show();
     finish();
        startActivity(new Intent(context, Tab_Bar.class));
super.onBackPressed();
 return;
 }
这样使用:

@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() {

     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));
}
它会起作用的。

只要写下:

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

只要写下:

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

只要写下:

@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();

而且,由于您正在处理back按钮,因此不要调用
super.onBackPressed()完全正确。因为它所做的是完成当前活动,但您已经在做了。

首先,您应该在开始下一个活动后完成当前活动。这些电话的顺序应该是相反的

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

而且,由于您正在处理back按钮,因此不要调用
super.onBackPressed()完全正确。因为它所做的是完成当前活动,但您已经在做了。

首先,您应该在开始下一个活动后完成当前活动。这些电话的顺序应该是相反的

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

而且,由于您正在处理back按钮,因此不要调用
super.onBackPressed()完全正确。因为它所做的是完成当前活动,但您已经在做了。

首先,您应该在开始下一个活动后完成当前活动。这些电话的顺序应该是相反的

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

而且,由于您正在处理back按钮,因此不要调用
super.onBackPressed()完全正确。因为它所做的就是完成当前的活动,但您已经在做了。

试试这个简单的代码。将
webView
更改为您的webView变量

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

试试这个简单的代码。将
webView
更改为您的webView变量

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

试试这个简单的代码。将
webView
更改为您的webView变量

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

试试这个简单的代码。将
webView
更改为您的webView变量

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