首页 > 代码库 > fragment界面交互实操(步骤)

fragment界面交互实操(步骤)

首先,新建一个继承了fragment类的类,在oncreateview方法中,使用方法的参数inflater,用其inflater.inflate(R.layout.fragment1,container,false);来新建一个view

并在此方法中返回该VIEW,这就是我们的fragment的界面

然后,在activity中,通过上下文得到fragmentmanager,开启实物,加入fragment实例,加入回退栈,提交事物

如下所示:

1  FragmentManager fg = getFragmentManager();2         FragmentTransaction ft = fg.beginTransaction();3         fg1 = new fragmenttest();4         Bundle data = http://www.mamicode.com/new Bundle();5         data.putString("123","hello");6         fg1.setArguments(data);7         ft.add(R.id.myline,fg1);8         ft.addToBackStack(null);9         ft.commit();

从activity中向fragment传值只需定义bundle对象,设置值,调用fragment实例的setArgument方法即可

从fragment向activity传值,有两种方法

方法一:

在fragment的onattach方法中获得宿主activity的实例,并在需要的时候调用此实例来调用activity的方法传值

方法一虽然简单,但是并不推荐,这样会让fragment的适配性降低,如果用于其他的activity就必须修改

 

方法二:

在fragment中定义接口,并在activity中实现该接口,同样的,在onattach方法中取得activity的实例,并转换成接口的类型,需要调用的时候,我们用这个转换的实例就可以了。

这样比方法一的适配性更好,不用在每次变化的时候修改我们的fragment

 

fragment界面交互实操(步骤)