ListView 是Android比较常用的控件。
在ApiDemo中有相关的使用方法,但是在DEMO中并没有提到如何响应它的单击操作。
在Android中有两种单击:
1、短按单击。
2、长按单击。
如何实现它呢?
1、实现短按单击,只需要在你的代码中重载ListActivity的函数onListItemClick即可。如下:
public class testList extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
Toast.makeText(testList.this, "You click: " + position, Toast.LENGTH_SHORT).show();
super.onListItemClick(l, v, position, id);
}
}
注意:
onListItemClick函数是ListActivity中的函数,因此,在书写它应该与onCreate函数并列。
2、实现长按单击,你需要给ListView增加一个长按的监听函数,方法如下:
public class testList extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
//设置列表长按的监听函数来监听长按操作
getListView().setOnItemLongClickListener(new AdapterView.OnItemLongClickListener(){
public boolean onItemLongClick(AdapterView parent, View view, int position,
long id) {
Log.d("..........OnItemLongClickListener", view.toString() + "position=" + position);
Toast.makeText(testList.this, "You OnItemLongClickListener click: " + position, Toast.LENGTH_SHORT).show();
return true;
}
});
....
}
....
}
注意:长按操作的实现方式与短按的实现方式有点不同,它是通过设置ListView的setOnItemLongClickListener函数来实现的。