在Android中从列表启动活动

时间:2011-04-19 01:46:08

标签: java android

我正在编写应用程序而且遇到了问题。 第一个活动有一个包含许多选项的列表,每个列表对象由一个图片和一些文本组成。目标是用户选择列表选项并打开新活动。 我有一个数组列表,其中包含一个类的实例,其中包含需要启动的活动的图像,文本和名称。当我在onListItemClick()中调用StartActivity时,如何在新的Intent中获取活动名称并使其接受名称?这是可能的还是这是一种可怕的方式来达到我想要的目的? 我对android很新,很抱歉有任何困惑。 非常感谢任何帮助。

2 个答案:

答案 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。