我是Android的新手。我正在实现一个小型的Android应用程序。它有3页。
第A页
Page B
Page C
页面A和页面B中有按钮可以转到页面C.我需要知道的是,当我通过单击页面A按钮转到页面C时,我需要使用{{1}返回到页面A.当我通过点击Page B按钮转到Page C时,我需要使用onBackPressed()
这是我使用的代码。
onBackPressed()
据我所知,我无法在同一课程中拨打两个@Override
public void onBackPressed()
{
super.onBackPressed();
startActivity(new Intent(C.this, A.class));
finish();
}
。
那么,我该怎么办?
从A / B
启动活动C.onBackPressed()
答案 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();
}