假设从活动A开始,活动B启动,B启动C.是否可以从C开始活动A,按下按钮,而不是按两次BACK按钮,或者是记忆泄漏的做法?
非常感谢,
的Gratzi
答案 0 :(得分:0)
看看是否
Intent.FLAG_ACTIVITY_CLEAR_TOP
适合您的需求。
答案 1 :(得分:0)
你必须这样做:
`活动A:
public static final int ID = X
// ....
startActivityForResult(intentToB,ID)
// ....
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == ID){
switch (resultCode){
case RESULT_OK:
//...
break;
case RESULT_RETURN:
// ...
default:
//...
}
}
}
`
`活动B:
public static final int ID = Y
// ....
startActivityForResult(intentToC,ID)
// ....
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == ID){
switch (resultCode){
case RESULT_OK:
//...
break;
case RESULT_RETURN:
setResult(RESULT_RETURN);
ActivityB.this.finish();
default:
//...
}
}
}
`
Activity C:
//inside of button onclick listener
setResult(RESULT_VOLVER);
ActivityC.this.finish();
答案 2 :(得分:0)
我理解你的想法。从HomeActivity看,你进入活动A,然后进入活动B,等等。对每个Acitivy(A,B,...)进行成像时,有一个HOME按钮,可在按下此按钮时快速返回HOME。
以下是源代码:
public void btn_home_click(View v) {
Intent intent = new Intent(this, HomeActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
}