Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何忽视「;避免碎片中的非默认构造函数;错误?_Android - Fatal编程技术网

Android 如何忽视「;避免碎片中的非默认构造函数;错误?

Android 如何忽视「;避免碎片中的非默认构造函数;错误?,android,Android,我在尝试生成已签名的APK时出错。问题是,我的应用程序能够在我的设备上正常运行和调试。我不知道为什么当我试图生成APK时,出现了这个错误。如何忽略此错误并生成已签名的APK?我正在为Mac使用Android Studio 1.2.1.1。这在Fragment的合同中:“每个片段必须有一个空构造函数,以便在恢复其活动状态时可以实例化它。强烈建议子类不要有其他带参数的构造函数,因为当片段被重新实例化时,不会调用这些构造函数;相反,调用者可以使用setArguments(Bundle)提供参数,然后使

我在尝试生成已签名的APK时出错。问题是,我的应用程序能够在我的设备上正常运行和调试。我不知道为什么当我试图生成APK时,出现了这个错误。如何忽略此错误并生成已签名的APK?我正在为Mac使用Android Studio 1.2.1.1。

这在Fragment的合同中:“每个片段必须有一个空构造函数,以便在恢复其活动状态时可以实例化它。强烈建议子类不要有其他带参数的构造函数,因为当片段被重新实例化时,不会调用这些构造函数;相反,调用者可以使用setArguments(Bundle)提供参数,然后使用getArguments()由片段检索。“

找到了解决方案。更简单的方法是将这些参数添加到gradle中:

 android {
          lintOptions {
              checkReleaseBuilds false
          }
      }

或者另一种方法是添加
@SuppressLint(“ValidFragment”)

如果您仍然想利用
lint的优点,则完全关闭
lint
不是一个体面的解决方案。如果有人遇到这种情况,我发现关闭特定错误只是一个更优雅的解决方案:

android {
    lintOptions {
        disable 'ValidFragment'
    }
}

对我来说,只有前面两个答案的结合才有效:

android {
    lintOptions {
        disable 'ValidFragment'
        checkReleaseBuilds false
    }
}

但是请记住,这是一个不好的补丁,为了避免lint警告/错误,解决方案是将片段构造函数调整为公共静态片段newInstance(params)片段构造函数。

您可以发布错误吗?您应该始终将片段的constructor保留为空,所有初始化工作都应该在onCreate()中完成方法。好吧,我更感兴趣的是忽略错误。为什么我的应用程序在调试时可以正常运行而没有错误,当生成APK时,只有这个错误消息出现?但是如果你要使你的碎片可包裹,你需要提供碎片名(包裹在{}构造函数…所以,我不知道。即使是Android Studio也为您制作了这个。您不应该在片段中有非默认构造函数。您可以添加静态方法,如getInstance(您的参数…)然后从那里创建新的片段,并将这些参数设置为片段看看这个例子:工作谢谢:)它用于我,谢谢。所以如果你的汽车的发动机灯闪烁,你也可以拆下灯泡来解决它?