在一个fragment中实现点击按钮返回另一个fragment并移除当前的fragment,请给一段示例代码
时间: 2024-05-02 22:19:09 浏览: 103
好的,可以参考下面的示例代码,其中假设当前Fragment是FragmentA,需要返回的Fragment是FragmentB:
```
public class FragmentA extends Fragment {
private Button mButton;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_a, container, false);
mButton = view.findViewById(R.id.button);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentB fragmentB = new FragmentB();
FragmentManager fragmentManager = getActivity().getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragmentB);
fragmentTransaction.remove(FragmentA.this);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
}
});
return view;
}
}
```
在上面的代码中,我们首先获取到Button控件,并设置它的点击事件。当点击按钮时,我们创建一个新的FragmentB实例,然后获取到FragmentManager,并开始一个新的FragmentTransaction。在这个Transaction中,我们首先使用replace()方法替换当前的Fragment为FragmentB,然后使用remove()方法移除当前的FragmentA。最后,我们使用addToBackStack()方法将当前的FragmentA添加到返回栈中,以便用户可以通过返回按钮返回到它。最后调用commit()方法提交Transaction即可。
阅读全文