Toobar实现activity+fragment切换,带也层层的返回

项目中toolbar+activity+3个fragment实现

  • A B C 都是Fragment,点击toobar右上角的textView从A 进入B ,再从B进入C。
    按左上角的返回能够 一层层的返回 。也就是 C—> B —>A 的流程

    Toobar实现activity+fragment切换,带也层层的返回_第1张图片

====

Toobar实现activity+fragment切换,带也层层的返回_第2张图片

Toobar实现activity+fragment切换,带也层层的返回_第3张图片

  • 可以看到 正常的A –>B –C的流程没有问题的,下面看 C-B-A

C-B
Toobar实现activity+fragment切换,带也层层的返回_第4张图片

B-A
Toobar实现activity+fragment切换,带也层层的返回_第5张图片
然后A 退出activity也是正常的
下面mark下代码:

    @OnClick(R.id.target_right_tv)
    public void onClick() {
        switch (step) {
            case 0://第一步中
                targetRightTv.setText("第二部");
                twoFragment = TaojuanTwoFragment.newsInstance();
                fm.beginTransaction().hide(oneFragment).add(twoFragment, "TWO").addToBackStack(null).commit();
                break;
            case 1://第二部中
                targetRightTv.setText("第三部");
                threeFragment = TaojuanThreeFragment.newsInstance();
                fm.beginTransaction().hide(twoFragment).add(threeFragment, "THREE").addToBackStack(null).commit();
                break;
            case 2://第三部中
                step--;
                Snackbar.make(rlContainer, "最后页面", Snackbar.LENGTH_SHORT).show();
                break;
        }
        step++;
    }
    下面是 按返回键的操作
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if (item.getItemId() == android.R.id.home) {
            switch (step) {
                case 0:
                    onBackPressed();
                    break;
                case 1:
                    targetRightTv.setText("第一步");
                    fm.beginTransaction().hide(twoFragment).show(oneFragment).commit();
                    step--;
                    break;
                case 2:
                    targetRightTv.setText("第二部");
                    fm.beginTransaction().hide(threeFragment).show(twoFragment).commit();
                    step--;
                    break;
            }
            onBackPressed();
        }
        return true;
    }

你可能感兴趣的:(Toobar实现activity+fragment切换,带也层层的返回)