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

  • 相关阅读:
    SEUOJ上几道水题
    项目计划
    软件工程03
    件工程个人作业02
    软件工程个人作业01
    学习进度条
    软件工程第一次博客
    异常分析
    多态
    Java覆盖
  • 原文地址:https://www.cnblogs.com/widgetbox/p/10451830.html
Copyright © 2011-2022 走看看