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函数来实现的。