我正在编写应用程序而且遇到了问题。 第一个活动有一个包含许多选项的列表,每个列表对象由一个图片和一些文本组成。目标是用户选择列表选项并打开新活动。 我有一个数组列表,其中包含一个类的实例,其中包含需要启动的活动的图像,文本和名称。当我在onListItemClick()中调用StartActivity时,如何在新的Intent中获取活动名称并使其接受名称?这是可能的还是这是一种可怕的方式来达到我想要的目的? 我对android很新,很抱歉有任何困惑。 非常感谢任何帮助。
答案 0 :(得分:1)
为什么不使包含活动的图像,文本和名称的自定义列表类还有另一个字段,该字段是要启动的活动的Class对象的实例?这样,您可以使用它来启动新的活动。
答案 1 :(得分:0)
另一种可能比创建自定义类更容易的解决方案...创建一个包含ListView对象和您要启动的Activity的Hashmap。
public static final HashMap<Object, Class> map = new HashMap<Object, Class>();
static {
map.put(key0, Activity0.class);
map.put(key1, Activity1.class);
map.put(key2, Activity2.class);
}
@Override
protected void onListItemClick(ListView lv, View v, int position, long id) {
startActivity(new Intent(this, map.get(lv.getItemAtPosition(position));
}
显然,HashMap定义中的Object需要更改为您要关注的Object。