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");
  • 相关阅读:
    观察者模式
    hdu 4712 Hamming Distance bfs
    leetcode Sum Root to Leaf Numbers(所有路径之和)
    Oracle实用-01:绑定变量
    jQuery实现AJAX定时刷新局部页面实例
    给Ajax一个漂亮的嫁衣——Ajax系列之五(下)之序列化和反序列化
    jquery的ajax同步和异步
    报表技术
    告别.NET生成报表统计图的烦恼
    浅谈ASP.NET报表控件
  • 原文地址:https://www.cnblogs.com/kim-liu/p/7521502.html
Copyright © 2011-2022 走看看