zoukankan      html  css  js  c++  java
  • 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

    -----人若无名,则可专心练剑
  • 相关阅读:
    使用servletContext和类加载器加载文件
    servletConfig和servletContext的应用
    java中的正则表达式(一)
    servlet的生命周期
    servlet的基本原理
    java中类加载机制
    java中的动态代理(三)
    Navicat Premium 连接Oracle 数据库
    使用SqlServer2005 Service Broker 和 SqlDependency类提供数据更改的通知
    WebService简单使用
  • 原文地址:https://www.cnblogs.com/u3shadow/p/4271130.html
Copyright © 2011-2022 走看看