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函數來實現的。