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 = 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

-----人若无名,则可专心练剑
原文地址:https://www.cnblogs.com/u3shadow/p/4271130.html