安卓中在一个fragment中点击某按钮显示另一个fragment怎么实现
可以通过以下步骤实现在一个fragment中点击某按钮显示另一个fragment:
-
在xml布局文件中定义两个fragment,分别为fragment1和fragment2。
-
在fragment1中定义一个按钮,并为其设置点击事件。
-
在点击事件中,通过FragmentManager获取FragmentTransaction对象。
-
在FragmentTransaction对象中添加一个replace操作,将fragment1替换为fragment2。
-
使用commit方法提交FragmentTransaction操作,即可在点击按钮时显示fragment2。
示例代码如下:
- 在xml布局文件中定义两个fragment:
<fragment
android:id="@+id/fragment1"
android:name="com.example.Fragment1"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<fragment
android:id="@+id/fragment2"
android:name="com.example.Fragment2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
- 在Fragment1中定义一个按钮,并为其设置点击事件:
public class Fragment1 extends Fragment {
private Button btnShowFragment2;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment1, container, false);
btnShowFragment2 = view.findViewById(R.id.btnShowFragment2);
btnShowFragment2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showFragment2();
}
});
return view;
}
private void showFragment2() {
FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fragment1, new Fragment2());
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
}
}
- 在点击事件中,通过FragmentManager获取FragmentTransaction对象,并添加一个replace操作,将fragment1替换为fragment2:
FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fragment1, new Fragment2());
- 使用commit方法提交FragmentTransaction操作,即可在点击按钮时显示fragment2:
fragmentTransaction.commit();
``
原文地址: https://www.cveoy.top/t/topic/hrGP 著作权归作者所有。请勿转载和采集!