我有这个关于 Android 活动和 AndroidManifest.xml 的问题。当我使用 Java servlet 并想创建一个“基于模块”或类似于基于插件的服务器时出现了这个问题。这工作正常,我可以使用类似于以下的代码方法动态加载我想要的 servlet:Dynamicly add a servlet to the servletConfig。servlet 在服务器启动期间被动态发现和映射。
这里的问题不是如何找到合适的活动,或者如何创建它们的新实例,或者如何启动它们,我已经弄清楚了那部分。我可以遍历我的包并找到适当的活动类,创建它们的新实例并将它们添加到列表中。
我一直在使用interface
所有活动都必须实现的,才能成为有效的活动。这样,我可以为我的应用程序创建新的部分、扩展或新功能,并且一切正常。在我的应用程序中,我有一个用户可以单击的按钮列表,并且按钮列表是通过使用ListView
.
private void displayLoadedContent() {
View v = inflateLayout(R.layout.buttonlayout);
ListView view = (ListView) v.findViewById(R.id.list);
view.setAdapter(new ListButtonAdapter(this, content));
}
wherecontent
被声明为
List<MyActivityInterface> content;
并ListButtonAdapter
扩展BaseAdapter
。
所以那里没有问题。问题是我必须在 AndroidManifest.xml 中声明我的每一个活动。该文件就像要显示的可能活动的大列表,而且有点混乱,所以我不打算在这里显示代码。
我意识到我必须在清单中添加一项活动,但我希望一项活动就足够了。我的方法在很多方面都可以看作是前端控制器模式,其中每个活动都负责加载和显示他们需要的活动。
我只是问是否可以在清单中动态注册活动(或允许它们以另一种方式运行),如果没有,是否有其他有效的解决方案?