Android中Fragment之间的跳转
记录一下实现两个fragment之间的跳转:这一次要实现跳转的两个fragment:第一个fragment是MainActivity里面的一个子fragment(名字叫RecommendFragment),另一个是一个单独的fragment(名字叫TestFragment)。
·
记录一下实现两个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,如图中所示。

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"
像这样:
还有这样:
五、完成,nice。
更多推荐

所有评论(0)