Fragment的简单使用

本文详细介绍了在Android应用中构建Fragment的过程,包括在布局文件中设置Fragment控件、创建自定义Fragment类、动态加载Fragment以及如何通过Bundle进行参数传递。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Fragment的构建:

 (1)首先要在布局文件中设置Fragment控件,用于在同一位置显示指定的fragment:

<FrameLayout
        android:id="@+id/fragment_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

</FrameLayout>

(2) 创建自定义的fragment并继承Fragment类,并重写该父类中的方法

public class userFragment extends Fragment {
    
    //以下两个方法必须重写
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        
    }

    @Override
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
        
    }
 
    //以下两种方法可根据情况选择是否重写
    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
    }

    @Override
    public void onDetach() {
        super.onDetach();
    }
}

(3)在代码中动态加载fragment

FragmentManager framenManager=getSupportFragmentManager();//获取fragment管理器
FragmentTransaction fragmentTransaction=fragmentManager.beginTransaction();//android中,对Fragment的操作都要借用FragmentTrasaction类
mainFragment mainfragment=new mainFragment();//创建自定义的Fragment类对象
fragmentTransaction.add(R.id.fragment_container,mainfragment);//使用add方法将自定义的fragment添加到Xml中对应Id的Fragment控件中
fragemntTransaction.commit();//使用commit提交,完成整个fragment构建

(4)当需要对某个fragment进行参数传递时,使用Bundle和getArgument()方法配合完成参数传递

在自定义fragment类中定义静态方法,该方法返回该自定义fragment的实例。将Bundle通过setArguemnt方法传递到该自定义fragment的实例中。

public static userFragment newInstance(String title){
    userFragment ufragment=nre userFragment();
    Bundle bundle=new Bundle();
    bundle.putString("title",title);
    ufragment.setArgument(bundle);
    return ufragment;
}

在该自定义fragment中取出传递的参数

@Override
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        text=view.findViewById(R.id.user_text);
        //取出bundle中带的参数,并传递
        if(getActivity()!=null){
            text.setText(getArguments().getString("title"));
        }
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值