我有两个不同的项目A& B.项目内部A我链接项目B的源代码,因此项目A的活动可以从项目B开始活动。我正在使用Eclipse Galileo。
问题是,当我想编辑活动B中视图的值时,两个项目中的资源ID都有一些冲突。因此,当我在活动B中调用findViewById()时,我从活动A获得了一个视图。
我在项目A中的AndroidManifest中声明了活动B.我甚至尝试将活动B作为应用程序的入口点开始,但它根本没有显示任何内容。就像findViewById尝试搜索项目A的视图一样,虽然我已经正确指定了包名。
findViewById(com.my.company.projectB.R.id.someView);
有没有人知道发生了什么?我真的很感激任何帮助。谢谢!
答案 0 :(得分:1)
我发现了问题。它位于我的项目A的清单文件中。我不应该在那里声明活动B.所以基本上说,为了从另一个应用程序(项目B)正确调用一个活动,需要做的事情是:
1)。通过运行或调试它来安装应用程序B(当然!)。
2)。在自己的项目中正确声明了活动B的intent-filter。无需在项目中声明它(这是我的错误)。
3)。使用intent-filter中指定的意图启动活动。
在这里发布答案以防其他人遇到与我相同的问题:)