Android ListView到Intents

时间:2012-02-27 18:51:21

标签: java android android-intent android-emulator android-listview

如何为列表视图设置onClickListener,以便每个列表视图项将您带到不同的意图?

3 个答案:

答案 0 :(得分:2)

如果您要扩展ListActivity,那么您可以执行以下操作:

    @Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    String item = (String) getListAdapter().getItem(position);
            Intent intent = new Intent(present_activity.this,target_activty.class);
            intent.putExtras("key",item);
            startActivity(intent);
}

希望这会有所帮助.. :)

答案 1 :(得分:0)

如果您通过适配器填充列表,则可以使用onListItemClick(),它将为您提供listView,单击的视图以及列表中的位置。

从那里你可以使用位置开关来开始不同的活动。或者,如果列表视图更具动态性,您可以在列表中保存视图,以保存要在其标记中打开的活动。 (view.setTag(“acivityName”))并使用类似的东西来启动活动:

String activityName = view.getTag();
i = new Intent(v.getContext(), Class.forName(activityName));
startActivity(i);

答案 2 :(得分:0)

像这样设置监听器:

myListView.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView parent, View view, int position, long id) {
                String item = (String) myListView.getAdapter().getItem(position);

                Intent intent = new Intent(getBaseContext(), MyActivity.class);
                intent.putExtras("name", item);
                startActivity(intent);
        }
    });

修改

您使用在侦听器中收到的position来获取该位置列表中的项目。然后,您可以将该项目与Intent捆绑在一起,然后将其发送到Activity(请参阅上面的代码putExtra