Android Notify onbackpressed()从中调用片段

Android Notify onbackpressed()从中调用片段,android,android-fragments,Android,Android Fragments,我有一个活动,我添加了一个ListFragment。当我单击一个按钮时,一个新的片段将替换ListFragment。我使用addTobackStack(null),所以当我按下后退按钮时,我将结束到ListFragment。如果用户没有按back,而是单击了一个按钮,那么他将转到另一个新片段。从那里,我希望用户返回ListFragment,因此在进行fragmentTransaction时,我不使用addTobackStack() 模式是: ListFragment -------> Ga

我有一个活动,我添加了一个ListFragment。当我单击一个按钮时,一个新的片段将替换ListFragment。我使用addTobackStack(null),所以当我按下后退按钮时,我将结束到ListFragment。如果用户没有按back,而是单击了一个按钮,那么他将转到另一个新片段。从那里,我希望用户返回ListFragment,因此在进行fragmentTransaction时,我不使用addTobackStack()

模式是:

ListFragment -------> GameFragment --------> EndFragment
GameFragment
我可以回到
ListFragment
,从
EndFragment
我必须转到
ListFragment
,而不是
GameFragment

所以我猜我必须在我的活动中重写onBackPressed(),所以当我在
EndFragment
上时,我要对
listframent
进行事务处理

问题是当我重写
onBackPressed()时,我不知道如何引用
EndFragment

(除非有更好的方法执行此操作…)

onBackPressed()我现在使用的代码:

    @Override
public void onBackPressed() {
    if (getSupportFragmentManager().getBackStackEntryCount() == 0) {
        Log.i("FINISH", "Finish");
        finish();
    } else {
        Log.i("FINISH", "POP STACK");
        getSupportFragmentManager().popBackStack();
    }
}

更好的方法是从backbackback中删除
AF
活动,它保存所有以前的活动,并在back按钮中查找以前的活动

为此,在您的
AF
活动中,将
FLAG\u activity\u CLEAR\u TOP
标志添加到您的意图中,如下所示:

Intent intent = new Intent(this, BF.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
另一个选项是覆盖按下后退按钮时发生的情况。重写
onBackPressed()
方法:

@Override
public void onBackPressed() {
   super.onBackPressed();
   Intent intent = new Intent(this, BF.class);
   goToMainActivity.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
   startActivity(goToMainActivity);
 }

它们不是活动。它们是碎片。很抱歉我的帖子引起了误会,我做了一些编辑,这样我的问题就更容易理解了。