温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

fragment的基本用法

发布时间:2021-08-31 18:33:11 来源:亿速云 阅读:120 作者:chen 栏目:移动开发

这篇文章主要讲解了“fragment的基本用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“fragment的基本用法”吧!

fragment 基本使用方法
    1、继承Fragment类或者子类并重写
            public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState)
       方法。把xml文件包裹成View对象,并对vie进行操作,与activity操作View相同。
    2、把fragment添加到activity中:
      1)、在xml中添加,也即静态添加:
              <fragment
            android:layout_below="@id/tv"
            android:id="@+id/left_fragment"
            android:name="com.example.test.LeftFragment"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
       2)、在代码中添加,也即动态添加:
            FragmentManager LeftFragment fragment=new LeftFragment();
            fragmentManager=getFragmentManager();
            FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
            fragmentTransaction.add(R.id.ll, fragment);
            fragmentTransaction.commit();
            注:需要commit().
    3、基本操作,增、删、改、查。
         重要类:
           FragmentManager: Fragment管理
           FragmentTransaction:Fragment事务
           Fragment:具体Fragment
         增:add方法
         删:remove方法
         改:replace方法
         查:findFragmentByTag 或者 findFragmentById
    4、回退栈
         使用FragmentTransaction中的addToBackStack方法
    5、与activity的通讯
           在Fragment内定义一个接口,其作用是让activity使用。
        1)、
            public class FragmentB_1 extends Fragment implements OnClickListener {
                private FragmentBIF fragmentBIF;
                public interface FragmentBIF{
                    public void setB();
                }
                @Override
                public View onCreateView(LayoutInflater inflater, ViewGroup container,
                        Bundle savedInstanceState) {
                    View view = inflater.inflate(R.layout.b, null);
                    Button button=(Button) view.findViewById(R.id.but_b);
                    button.setOnClickListener(this);
                    return view;
                }
                public void setFragmentBIF(FragmentBIF fragmentBIF) {
                    this.fragmentBIF = fragmentBIF;
                }
                //button的点击事件作用到接口的setB方法
                @Override
                public void onClick(View v) {
                    if(fragmentBIF!=null){
                        fragmentBIF.setB();
                    }
                }
            }
         2)、
            public class FragmentA_1 extends Fragment implements OnClickListener {
            
                private FragmentIF fragmentIF;
                public interface FragmentIF{
                    public void setA();
                }
                @Override
                public View onCreateView(LayoutInflater inflater, ViewGroup container,
                        Bundle savedInstanceState) {
                     View view = inflater.inflate(R.layout.a, null);
                     Button button = (Button) view.findViewById(R.id.but_a);
                     button.setOnClickListener(this);
                     return view;
                }
                
                //button的点击事件作用到接口的setA方法上
                @Override
                public void onClick(View v) {
                    if(getActivity() instanceof FragmentIF){
                        ((FragmentIF)getActivity()).setA();
                    }
                }
            }
                 

感谢各位的阅读,以上就是“fragment的基本用法”的内容了,经过本文的学习后,相信大家对fragment的基本用法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI