当我点击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" };
};
答案 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。