zoukankan      html  css  js  c++  java
  • 创建Fragment和传递数值

    下面在扩展一下创建Fragment和传递数值

    如果我们不需要传递数值,那就直接可以在宿主activity中,跟平常一样创建fragment,但是如果我们需要传递数据的话,可以使用newInstance(数据)方法来传递,这个方法是自己定义的,但是是定义在Fragment中的一个静态方法。

    static MyFragment newInstance(String s){
            MyFragment myFragment = new MyFragment();
            Bundle bundle = new Bundle();
            bundle.putString("DATA",s);
            myFragment.setArguments(bundle);
            return myFragment;
        }
    
    //同样,在onCreatView中直接获取这个值
     @Nullable
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
            View view = inflater.inflate(R.layout.layout_fragment,container,false);
            Bundle bundle = getArguments();
            String data = bundle.getString("DATA");
            tv = (TextView) view.findViewById(R.id.id_fm_tv);
            if(data != null){
                tv.setText(data);
            }
            return view;
        }

    在宿主activity中,创建Fragment

     FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
            fragmentTransaction.setCustomAnimations(android.R.anim.fade_in,android.R.anim.fade_out);
            fragment1 = MyFragment.newInstance("这是第一个fragment");//这里只需要直接调用这个方法,就创建了一个fragment
            fragment2 = MyFragment.newInstance("这是第二个fragment");
            fragment3 = MyFragment.newInstance("这是第三个fragment");
  • 相关阅读:
    ubuntu 16.0.5 修改网卡为固定IP
    Ubuntu PostgreSQL安装和配置
    NPOI 1.2.1版本替换为2.4.0版本实体类变更
    C# 之 Math取整
    解决github 下载过慢的问题
    优伦自动语言话务员设置
    python3学习笔记 列表
    【postgresql】role "root" does not exist 解决办法
    Eclipse使用的小技巧
    Servlet
  • 原文地址:https://www.cnblogs.com/kim-liu/p/7521502.html
Copyright © 2011-2022 走看看