Android:如何在ListView上设置点击事件?

时间:2010-05-24 15:46:21

标签: android listview listadapter

当我点击ListView中的某个项目时,我希望能够打开一个新的视图或活动。

目前我有一个餐馆列表,当我点击一个特定的餐馆时,我希望它打开另一个屏幕,显示其地址,谷歌地图等。

我需要帮助的是知道如何在列表中的项目上设置点击事件。 目前我没有这些项目的数据库,它们只是字符串。 有人帮助我让我进入这个阶段吗?

非常感谢。

package com.example.androidrestaurant;

导入android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.TextView; import android.app.ListActivity;

公共类Dundrum扩展了ListActivity {     TextView选择;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);


    setListAdapter(new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_1, DUNDRUM));
    getListView().setTextFilterEnabled(true);

  }

static final String [] DUNDRUM = new String [] {

    "Ananda",
    "Brambles Cafe", "Brannigans", "Buona Sera",
    "Cafe Mao", "Cafe Mimo",
    "Dante", "Douglas & Kaldi Terrace Cafe",
    "Eddie Rockets",
    "Frango's World Cuisine",
    "Nando's",
    "Overends Restaurant @ Airfield House",
    "Pizza Hut",
    "Roly Saul",
    "Siam Thai","Smokey Joes","Sohag Tandoori",
    "TGI Friday","The Rockfield Lounge", "Winters Bar" };
};

2 个答案:

答案 0 :(得分:3)

你需要这样做:

// Store your listview into local variable
ListView lv = getListView();

lv.setTextFilterEnabled(true);

// Bind onclick event handler
lv.setOnItemClickListener(new OnItemClickListener() {
              public void onItemClick(AdapterView<?> parent, View view,
                  int position, long id) {

                      // Put in your code here, what you wanted trigger :)
              }
});

答案 1 :(得分:1)

如果您使用ListView中的ListActivity,请覆盖onListItemClick()。否则,请将setOnItemClickListener()ListView一起使用。在任何一种情况下,您都会获得一个位置,该位置是数组的索引。

有关示例项目,请参阅here