onBackPressed来自Android

时间:2016-01-22 09:25:59

标签: android onbackpressed

我是Android的新手。我正在实现一个小型的Android应用程序。它有3页。

第A页

Page B

Page C

页面A和页面B中有按钮可以转到页面C.我需要知道的是,当我通过单击页面A按钮转到页面C时,我需要使用{{1}返回到页面A.当我通过点击Page B按钮转到Page C时,我需要使用onBackPressed()

返回到页面B.

这是我使用的代码。

onBackPressed()

据我所知,我无法在同一课程中拨打两个@Override public void onBackPressed() { super.onBackPressed(); startActivity(new Intent(C.this, A.class)); finish(); }

那么,我该怎么办?

  • 编辑 -

从A / B

启动活动C.
onBackPressed()

2 个答案:

答案 0 :(得分:1)

试试这个,不是最佳答案,但它有效:

活动A:

btnFromC.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(getApplicationContext(), C.class);
                intent.putExtra("comeFrom", 0);
                startActivity(intent);
            }
        });

活动B:

btnFromC.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(getApplicationContext(), C.class);
                intent.putExtra("comeFrom", 1);
                startActivity(intent);
            }
        });

活动C:

 int comeFrom;
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
         Intent intent = this.getIntent();
         comeFrom = intent.getIntExtra("comeFrom", 0);
}

@Override
    public void onBackPressed()
    {
        super.onBackPressed();
  Intent intent = null;

       switch(comeFrom){
      case 0:
        intent = new Intent(getApplicationContext(), A.class);
        break;
      case 1:
        intent = new Intent(getApplicationContext(), B.class);
        break;
       }
       startActivity(intent);

    }

解决您的问题?

答案 1 :(得分:-2)

从活动A和B开始,如下所示:

startActivity(new Intent(A or B.this, c.class));

并在你的班级c

@Override
public void onBackPressed()
{
    super.onBackPressed();        
    finish();

}