在activity里添加fragment
时间: 2023-04-25 07:02:20 浏览: 104
在Activity中添加Fragment可以通过以下步骤实现:
1. 创建一个Fragment类,继承自android.support.v4.app.Fragment。
2. 在Activity的布局文件中添加一个FrameLayout,用于显示Fragment。
3. 在Activity的onCreate方法中获取FragmentManager,并开启一个事务。
4. 在事务中使用add方法添加Fragment,并指定要添加的Fragment的布局文件和标签。
5. 提交事务。
6. 在Fragment中实现需要的功能。
7. 在Activity中可以通过FragmentManager获取已添加的Fragment,并进行相关操作。
示例代码:
1. 创建一个Fragment类
public class MyFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_my, container, false);
return view;
}
}
2. 在Activity的布局文件中添加一个FrameLayout
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
3. 在Activity的onCreate方法中获取FragmentManager,并开启一个事务
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
4. 在事务中使用add方法添加Fragment,并指定要添加的Fragment的布局文件和标签
MyFragment myFragment = new MyFragment();
fragmentTransaction.add(R.id.container, myFragment, "MyFragment");
5. 提交事务
fragmentTransaction.commit();
6. 在Fragment中实现需要的功能
public class MyFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_my, container, false);
Button button = view.findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// do something
}
});
return view;
}
}
7. 在Activity中可以通过FragmentManager获取已添加的Fragment,并进行相关操作
MyFragment myFragment = (MyFragment) fragmentManager.findFragmentByTag("MyFragment");
if (myFragment != null) {
// do something
}
阅读全文