• android关于fragment的构造函数用法建议


    错误信息

    Avoid non-default constructors in fragments: use a default constructor plus Fragment#setArguments(Bundle) instead:

    因为原生的fragment的管理和在屏幕上显示,是推荐不要在任何继承fragment类里面,去创建类的构造方法,否则在运行时,会出现问题。如果你的fragment没有声明任何的构造函数,系统会自动帮你创建一个构造。除非你有声明一个带参的构造函数,才需要声明一个无参的构造函数。

    解决的办法

    public static final GridFragment newInstance(String tabId){
    
        GridFragment f = new GridFragment();
    
        Bundle bdl = new Bundle(2);
    
        bdl.putString(TAB_ID, tabId);
    
        f.setArguments(bdl);
    
        return f;
    
    }
    @Override
    public void onCreate(Bundle savedInstanceState) { String tabId = getArguments().getString(TAB_ID); }

    要是非要不按规则来就这样

    @SuppressLint("ValidFragment")
    
    public PlaceDialogFragment(Place place, DisplayMetrics dm){
    
            super();
    
            this.mPlace = place;
    
            this.mMetrics = dm;
    
        }

    避免使用非默认构造函数

    可以在ShowSynopsis上面加上@SuppressLint("ValidFragment"),忽略警告。

    或者加入这句代码@SuppressLint(“ValidFragment")

    磊磊tua

  • 相关阅读:
    字符串:序列自动机
    图论学习——最大团与最大独立集
    点分治
    图论:Johnson全源最短路
    停止更新博客
    将Eclipse中现有的java类生成类图
    problem:SVN error: (501 Not Implemented)
    SVN 修改URL路径
    eclipse中,把java函数代码折叠/展开
    Build类
  • 原文地址:https://www.cnblogs.com/widgetbox/p/10451830.html
Copyright © 2020-2023  润新知