gpt4 book ai didi

java - findViewById 在 jar 中返回 null

转载 作者:行者123 更新时间:2023-11-30 03:23:26 26 4
gpt4 key购买 nike

我有一小段代码可以在自己的项目中正常工作(它只是一个文件选择对话框)。我想在我的大项目中使用它,所以我通过执行以下操作将 FileSelector 导出为 jar:

  • 右键单击 FileSelector 项目并单击“导出”

  • 选择 Java -> JAR 文件

  • 设置“导出目的地”

  • 点击“完成”

  • 将导出的.jar文件复制到MyProject/libs

  • 右键单击“我的项目”->“刷新”

  • 右键单击“我的项目”->“属性”

  • 点击“Java 构建路径”

  • 在“库”选项卡中,单击“添加 JAR”并选择我刚刚复制到 MyProject 中的 .jar 文件

我收到错误“生成最终存档时出错:找到 APK 的重复文件:AndroidManifest.xml”,所以我只是从要导出到 jar 的文件列表中取消选择 AndroidManifest.xml,然后重新创建它。

MyProject 似乎构建良好,但是当我运行它并单击应该显示文件选择对话框的按钮时,我得到一个空指针异常。我回去在FileSelection代码中找到了它,它很简单

mFilterSpinner = (Spinner) mDialog.findViewById(R.id.fileFilter);

即返回 null。在项目设置中是否有什么我没有做的,这将允许这样的调用在 jar 中工作?还是我打包和导入 jar 的过程有问题?

最佳答案

R 类中的值将被修改。因此,在您的 Jar 中使用已编译的 R 时,您无法找到您的 View 。

唯一的解决方案是使用 android 库项目并通过它引用资源和来源。否则,您可以通过将 android 库项目制作成 AAR 存档来引用它。

关于java - findViewById 在 jar 中返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18700225/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com