Android中Fragment之间的跳转

记录一下实现两个fragment之间的跳转

注意:这一次要实现跳转的两个fragment:第一个fragment是MainActivity里面的一个子fragment(名字叫RecommendFragment),另一个是一个单独的fragment(名字叫TestFragment)。

下面是实现的步骤和一些需要注意的地方:

一、第一个,RecommentFragment.class

需要注意的地方

1、关于Fragment与FragmentManager导入的包是这两个

import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;

2、R.id.fragment_recommend这个指的是RecommendFragment布局(fragment_recommend.xml)的id,如图中所示。

Android中Fragment之间的跳转_第1张图片

3、下面是RecommendFragment中的全部代码(包括对某控件实现监听进行跳转)

package com.example.crab_breeding.second_recommend;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import com.example.crab_breeding.R;
import com.example.crab_breeding.TestFragment;

public class RecommendFragment extends Fragment {
    LinearLayout re_new1;
    //TestFragment为要跳转的页面
    private TestFragment testFragment=new TestFragment();

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_recommend, container, false);
        re_new1=view.findViewById(R.id.re_new1);
        re_new1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //相应控件的监听里面实现跳转
                FragmentManager fragmentManager=getFragmentManager();
                fragmentManager.beginTransaction()
                        .replace(R.id.fragment_recommend,new TestFragment())
                        .addToBackStack(null)
                        .commit();
            }
        });
        return view;
    }
}

二、第二个,TestFragment.class

需要注意的地方

1、TestFragment继承的Fragment导入的包与前一个fragment一样都是下面这个

import androidx.fragment.app.Fragment;

三、运行,点击相应控件实现跳转

四、如果出现页面重叠的情况,解决办法如下:

在两个fragment布局中加入下面这行代码:

android:background="@android:color/background_light"

像这样:
Android中Fragment之间的跳转_第2张图片
还有这样:
Android中Fragment之间的跳转_第3张图片

五、完成,nice。

你可能感兴趣的:(Android,fragment之间跳转,android)