【问题标题】:onBackPressed() isn't working?onBackPressed() 不起作用?
【发布时间】:2015-11-06 03:11:17
【问题描述】:

我正在 Eclipse 中开发一个 android 应用程序.... 当我单击主要活动中的按钮时,它会将我带到另一个活动(说“课程”)...... 但是,当我单击后退按钮时,它完全关闭了应用程序,而不是返回到主 Activity。 我尝试了 {onBackPressed()} 方法但没有用....请帮助我...

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

怎么办???

【问题讨论】:

  • 你的 logcat 在哪里并显示 onActivityResult
  • 发布你的清单文件和两个活动
  • 为什么在 super.onBackPressed 之后调用 setContentView?
  • 在主要活动中处理按钮单击的位置发布您的代码。
  • 答案有帮助吗?

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


【解决方案1】:

1.如果您没有完成最后一项活动,请使用以下代码:-

     @Override

     public void onBackPressed() {

     super.onBackPressed();

    }

2。如果您完成了最后一项活动,请使用以下代码:-

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

【讨论】:

    【解决方案2】:

    您缺少intent 行。

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

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

    【讨论】:

      【解决方案3】:

      试试这个方法。

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

      【讨论】:

        【解决方案4】:

        按照此代码 当您单击主要活动中的按钮时

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

        以这些格式调用另一个活动,然后当您按下返回按钮时,它将转到预览活动。我认为您设置了任何其他标志来调用另一个 Activity,例如 FLAG_ACTIVITY_CLEAR_TOP ,FLAG_ACTIVITY_CLEAR_TASK

        【讨论】:

          【解决方案5】:

          试试这个

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-04-03
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-09-11
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多