• Fragment传参


    1. 封装基类
    /**
    * Created by chenhaibin
    * Time 18/1/20
    * Email chenhaibin415@163.com
    * Description:封装代码的基类
    * 基类BaseFragment中的传递参数args可以供子类选择性使用
    */
    public class BaseFragment extends Fragment {

    //传递过来的参数Bundle,供子类使用
    protected Bundle args;

    /**
    * 创建fragment的静态方法,方便传递参数
    * @param args 传递的参数
    * @return
    */
    public static <T extends Fragment>T newInstance(Class clazz, Bundle args) {
    T mFragment=null;
    try {
    mFragment= (T) clazz.newInstance();
    } catch (java.lang.InstantiationException e) {
    e.printStackTrace();
    } catch (IllegalAccessException e) {
    e.printStackTrace();
    }
    mFragment.setArguments(args);
    return mFragment;
    }

    /**
    * 初始创建Fragment对象时调用
    * @param savedInstanceState
    */
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    args = getArguments();
    }
    2. 要传递参数的Fragment继承基类
    public class EmotionMainFragment extends BaseFragment 

    3. 构造参数并传递
    //构建传递参数
    Bundle bundle = new Bundle();
    //绑定主内容编辑框
    bundle.putBoolean(EmotionMainFragment.BIND_TO_EDITTEXT, true);
    //隐藏控件
    bundle.putBoolean(EmotionMainFragment.HIDE_BAR_EDITTEXT_AND_BTN, false);
    //替换fragment
    //创建修改实例
    emotionMainFragment = EmotionMainFragment.newInstance(EmotionMainFragment.class, bundle);

    4. 接收参数
     isHidenBarEditTextAndBtn= args.getBoolean(EmotionMainFragment.HIDE_BAR_EDITTEXT_AND_BTN);
     //获取判断绑定对象的参数
     isBindToBarEditText=args.getBoolean(EmotionMainFragment.BIND_TO_EDITTEXT);
  • 相关阅读:
    tomcat-jvm参数优化
    k8s集群命令用法
    Zabbix-配置QQ邮箱报警通知
    zabbix监控实现原理
    adb无线调试安卓
    tiddlywiki安装和入门
    python处理excel和word脚本笔记
    路由和交换机调试笔记
    linux常用命令
    进程和线程的代码实现
  • 原文地址:https://www.cnblogs.com/chenhaib/p/8334683.html
Copyright © 2020-2023  润新知