onBackPressed()不起作用?

时间:2015-11-06 03:11:18

标签: android android-layout android-intent android-activity

我正在eclipse中开发一个Android应用程序.... 当我点击主要活动中的按钮时,它会带我去另一个活动(说“cources”).... 但是,当我点击后退按钮时,它完全关闭应用程序,而不是回到主要活动。 我试过{onBackPressed()}方法,但没有用....请帮助我......

public void onBackPressed() {
    // TODO Auto-generated method stub
    super.onBackPressed();
    setContentView(R.layout.main_screen);
}

怎么做???

5 个答案:

答案 0 :(得分:3)

<强> 1。如果您没有完成上一个活动,请使用以下代码: -

     @Override

     public void onBackPressed() {

     super.onBackPressed();

    }

<强> 2。如果您完成了上一个活动,请使用以下代码: -

    @Override
    public void onBackPressed() {
    Intent intnt=new Intent(CurrentActivity,NewActivity);
    startActivity(intnt);
    finish();
    }

答案 1 :(得分:0)

您错过了intent行。

要获得更好的解决方案,请提供更多信息。

@Override
    public void onBackPressed() {
        Intent returnIntent = new Intent();
        setResult(Activity.RESULT_CANCELED, returnIntent);
        finish();
    }

答案 2 :(得分:0)

尝试这种方式。

public void onBackPressed() {
    // TODO Auto-generated method stub
    // Hear Pass to intent for the new Activity.
    // then after to put super.onBackPressed();
    super.onBackPressed();
}

答案 3 :(得分:0)

请遵守此代码 单击主要活动中的按钮时

Intent intent= new  Intent(this,NewActivity.class);

 startActivity(intent); 

以这些格式调用另一个活动,然后按回按钮时将转到预览活动。我认为你设置任何额外的标志来调用另一个活动,如FLAG_ACTIVITY_CLEAR_TOP,FLAG_ACTIVITY_CLEAR_TASK

答案 4 :(得分:0)

试试这个

public boolean onKeyDown(int keyCode, KeyEvent event) {
            if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
                moveTaskToBack(true);
            }
            return super.onKeyDown(keyCode, event);
        }

        @Override
        public void onBackPressed() {
            // TODO Auto-generated method stub
            super.onBackPressed();
            onKeyDown(KeyEvent.KEYCODE_BACK, null);
        }