java - 启动外部 Activity 的无尽问题 - 找不到资源

标签 java android resources

在这里开发我的第一个 Android 应用程序。我已经搜索并尝试了我能想到的一切,但没有运气......

作为我的应用程序的一部分,我正在尝试合并一个单独的文件选择器项目。我试图将选择器分开,以便它可以被许多 future 的项目共享。就其本身而言,它启动良好。问题是当我尝试从我的主应用程序启动它时,我得到一个 Resources.NotFoundException。我遇到了 Class Not Found 的问题,我想我已经通过将选择器包含在 Java 构建路径中并包含在主应用程序的 Android list 中来解决这个问题。

主应用程序 list :

<application ...    
    <activity android:name=".MyMainApp" ...
    <activity android:name=".MyOtherActivity" ...
    <activity android:name="com.didjit.filechooser.FileChooser"/>
</application       

文件选择器在主代码中是这样启动的:

Intent intent = new Intent(this, com.didjit.filechooser.FileChooser.class);
startActivityForResult(intent, REQ_CODE_CHOOSE_SOURCE);

在选择器方面,未找到的资源是 R.layout.main:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    browseToRoot();
    findViewById(R.id.btnDone).setOnClickListener(this);
}

它抛出的错误是这样的:

: FATAL EXCEPTION: main
: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.didjit.MyMainApp/com.didjit.filechooser.FileChooser}: android.content.res.Resources$NotFoundException: Resource ID #0x7f030001
...
12-27 18:07:00.296: E/AndroidRuntime(1961): Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f030001

我怀疑的一件事是 com.didjit.MyMainApp/com.didjit.filechooser.FileChooser,就好像它将外部项目视为子组件一样。

另外,我担心我在解决这个问题时弄乱了项目配置。最初,没有找到选择器类。将它列在 Java Build Path/Projects 下似乎还不够;我还必须在 Java Build Path/Libraries 下包含类文件夹。如果我将选择器项目设为库,我也遇到了同样的麻烦。

那么……为什么现在能找到项目的类,却找不到资源呢?任何帮助将非常感激。谢谢!

附言这是在 Eclipse 中,针对 API 10 进行编码。

最佳答案

尝试替换

Intent intent = new Intent(this, com.didjit.filechooser.FileChooser.class);

Intent intent = new Intent("com.didjit.filechooser.FileChooser");

他们目前的做法是告诉 Intent 该 Activity 在您当前的项目中。这就是它找不到外部资源的原因。我建议的方式是打开外部应用程序的标准方式。

关于java - 启动外部 Activity 的无尽问题 - 找不到资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8650513/

相关文章:

java - 移动到新 Activity 并返回上一个 Activity 时保存字符串数组列表的内容

android - 多个 OpenGL ES 2 Android 渲染器

java - Spring Data Repository 保存未返回具有更新审核字段的实例

java - Android工具栏的文字大小和样式

java - 如何在android中构建一个不断增长的表单

Azure 资源管理器 SQL 数据库模板

java - 查找 JSF 资源的路径

java - 从jar中读取资源文件

java - 匹配空格或什么都不匹配的正则表达式

java - JAVA 中的小部件