удалить стек в фрагмент - PullRequest
0 голосов
/ 19 мая 2018

каждый раз, когда я открываю фрагмент, он будет добавлен в стек.Итак, кнопка «назад» возвращает меня в соответствии со стеком.

Я думаю, что мне нужно удалять стек каждый раз, когда я открываю фрагмент.

, если так, как я могу это сделать?вот мой код

public class MainActivity extends AppCompatActivity {

    private FragmentManager fragmentManager;
    FragmentTransaction transaction;

    LinearLayout firstColumn,secondColumn,thirdColumn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        fragmentManager = getSupportFragmentManager();

        firstColumn = (LinearLayout) findViewById(R.id.first_column);
        secondColumn = (LinearLayout) findViewById(R.id.second_column);

        firstColumn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {


                    transaction = getSupportFragmentManager().beginTransaction();
                    transaction.replace(R.id.main_container_frame_layout, new FirstFragment());

                    transaction.commit();

            }
        });

        secondColumn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                transaction = getSupportFragmentManager().beginTransaction();
                transaction.replace(R.id.main_container_frame_layout, new SecondFragment());

                transaction.commit();
            }
        });



    }
}

Заранее спасибо.

1 Ответ

0 голосов
/ 19 мая 2018

getSupportFragmentManager (). PopBackStack () вернется обратно в соответствии со стеком.Код ниже поможет вам.

  @Override
    public void onBackPressed() {

        if(getSupportFragmentManager().getBackStackEntryCount() > 0) {
            getSupportFragmentManager().popBackStack();
        }else 
            super.onBackPressed();
}
...