在这里工作我的第一个Android应用程序。我搜索并尝试了所有我能想到的,但没有运气...启动外部活动的无尽问题 - 资源未找到
作为我的应用程序的一部分,我试图合并一个单独的文件选择器项目。我试图让选择器保持独立,以便它可以被许多未来的项目共享。它本身就是正确的。问题是,当我尝试从我的主应用程序启动它时,我得到一个Resources.NotFoundException
。我遇到了类未找到的问题,我认为我已经通过将选择器包含在Java构建路径中并包含在主应用程序的Android Manifest中来解决问题。
主要应用清单:
<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
下的课程文件夹。如果我将选择器项目设为图书馆,我也碰到同样的麻烦。
那么......为什么现在可以找到项目的类而不是资源呢?任何帮助将非常感激。谢谢!
P.S.这是在Eclipse中,编码对API 10
谢谢,@AlexPaino,这本质上是它!我用动作'com.didjit.filchooser.intent.action.SELECT_ACTION'创建了一个新的intent。然后将其作为公共字符串(名为SELECT_ACTION)添加到FileChooser类中。最后,调用类使用'新的Intent(FileChooser.SELECT_ACTION)'。感谢您将我拉直! – Didjit 2011-12-28 03:36:53