创建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");
时间: 2024-12-17 14:05:27

创建Fragment和传递数值的相关文章

Activity与Fragment数据传递之Fragment从Activity获取数据

整理Fragment与Activity之间的数据交换,大体上包括三种: 1.Fragment从Activity获取数据 2.Activity从Fragment获取数据 3.Fragment之间获取数据通常,如果Activity向不同的Activity传递数据,最常用的是通过Intent.putExtra()方法,将简单类型的数据或可序列化的数据保存在Intent对象中,然后在目标Activity中使用getXxx(getInt,getString等)方法获得这些数据.  从Activity向Fr

fragment 数据传递,通信

Fragment之间的通信 在本节中,你会学到 1.定义接口 2.实现接口 3.将消息传递给fragment 为了重用Fragment UI 组件,在设计中你应该通过定义每一个fragemnt自己的layout和行为,让fragment的自包含和模块化.一旦你定义了这些可重用的Fragment,你可以通过Activity将它们关联起来并通过程序的逻辑代码将他们连接起来以实现整体组合的UI. 你会经常想要一个fragment与另一个fragment通信,例如基于用户事件改变fragment中的内容

fragment 事务回滚 ---动态创建fragment

1 import java.util.Date; 2 import java.util.LinkedList; 3 4 import com.qianfeng.gp08_day23_fragment5.fragment.TestFragment; 5 6 import android.os.Bundle; 7 import android.app.Activity; 8 import android.app.Fragment; 9 import android.app.FragmentTrans

localstroge可以在页面间传递数值;

连接地址为:http://4.suancai.sinaapp.com/localstorg/a.html 原理是,a页面设置了sessionstorge,b页面可以访问到; 并且已关闭浏览器,sestionstorge存储的数据就会清零: 而localstorg不会:会继续存在手机的浏览器的内存中: 而原先页面传递数据的话一般我都会用url,将数据放到url中: 各有用途: localstorg只是用本地用户 url带上数据可以给外人看到,而localstorg不可以: 现在不清楚的时怎么设置c

Fragment之间传递参数

传递参数的方法 //要跳转到的Fragment MapF f=new MapF(); //传递的参数 Bundle args = new Bundle(); args.putString("position","1"); f.setArguments(args); //跳转 getFragmentManager().beginTransaction().replace(R.id.car_main_fragment, f).commit(); 得到参数 getArgu

android 动态创建Fragment

前一遍文章我们讲了静态创建Fragment,这个在实际的开发中几乎不用,都是动态创建的,所谓动态创建就是根据某个条件动态创建Fragment, 现在创建一个android项目 dynamicFragment MainActivity.java package com.example.dynamicfragment; import android.app.Activity; import android.app.FragmentManager; import android.app.Fragmen

Fragment+Activity传递数据

自己经常使用的知识点,每次到要用的时候都还要再查一次才能懂得使用,终于体会到总结的必要性了. Activity传递数据给Fragment Bundle bundle_fragment=new Bundle (); String selecter=ClassList.get (position); bundle_fragment.putString (ClassTag, selecter); StudentFragment studentFragment = new StudentFragment

JAVA Eclipse创建Android程序如何实现MainActivity和Fragment相互传递数据

最简单的方法是直接强制生成一个MainActivity的实例,然后可以执行其中的方法,当然也是可以传递参数的 更加复杂的用法可以参考: http://blog.csdn.net/huangyabin001/article/details/35231753 http://blog.csdn.net/huangyabin001/article/details/35245561 http://blog.csdn.net/huangyabin001/article/details/35256379

fragment 数据传递,传值,通信

[原][Fragment精深系列4]Fragment与Activity之间的数据交互 2015-5-26阅读389 评论0   以下内容来自于自己的实践和网络资料的整理,希望对你有帮助. 一.Activity把值传递给Fragment   建议的传值方式是通过Bundle来传递,而不是直接作为fragment的构造参数传递.在activity中创建bundle数据包,并调用fragment的setArguments(Bundle bundle)方法,即可将Bundle数据包传给fragment.