我认为你把情况弄得太复杂了。听起来您想简单地创建和存储一个类列表,然后从另一个活动中访问该列表。
首先,当用户单击按钮记录书签时,我建议将类的名称存储在 SharedPreferences 中。SharedPreferences 允许您将名称-值对存储到文件中,以便以后从任何活动中访问。
SharedPreferences sp = this.getSharedPreferences("file_name", MODE_PRIVATE);
Editor editor = sp.edit();
editor.putString("class_name", "your.class.path.TestClassActivity");
editor.commit();
稍后,您可以访问所有保存的类名。有关获取 SharedPreferences 文件中所有键的方法,请参见此处。
最后,一旦你有了所有的类名,你就可以使用它们来构建你的意图。
String myClass = "TestClassActivity";
Class<?> cl = null;
try {
cl = Class.forName(myClass);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Intent myIntent = new Intent(getApplicationContext(), cl);
startActivity(myIntent);
编辑:我创建了一个使用上述内容的示例项目。它可以从 www.sourceforge.net/projects/androidbookmark/ 下载