Android - ListActivity 短、长单击事件的响应

来源:互联网 发布:js使input不可编辑 编辑:程序博客网 时间:2024/05/18 03:42
ListView 是Android比较常用的控件。
在ApiDemo中有相关的使用方法,但是在DEMO中并没有提到如何响应它的单击操作。
在Android中有两种单击:
1、短按单击。
2、长按单击。
如何实现它呢?
1、实现短按单击,只需要在你的代码中重载ListActivity的函数onListItemClick即可。如下:
[java] view plaincopy
  1. public class testList extends ListActivity {  
  2.   
  3.     @Override  
  4.     public void onCreate(Bundle savedInstanceState) {  
  5.         super.onCreate(savedInstanceState);  
  6.   
  7.         ...    
  8.   
  9.     }  
  10.       
  11.     @Override   
  12.     protected void onListItemClick(ListView l, View v, int position, long id) {  
  13.         Toast.makeText(testList.this"You click: " + position, Toast.LENGTH_SHORT).show();  
  14.         super.onListItemClick(l, v, position, id);  
  15.     }  
  16. }  
注意:onListItemClick函数是ListActivity中的函数,因此,在书写它应该与onCreate函数并列。

2、实现长按单击,你需要给ListView增加一个长按的监听函数,方法如下:
[java] view plaincopy
  1. public class testList extends ListActivity {  
  2.   
  3.     @Override  
  4.     public void onCreate(Bundle savedInstanceState) {  
  5.         super.onCreate(savedInstanceState);  
  6.   
  7.         ...    
  8.            
  9.       //设置列表长按的监听函数来监听长按操作  
  10.       getListView().setOnItemLongClickListener(new AdapterView.OnItemLongClickListener(){  
  11.       public boolean onItemLongClick(AdapterView parent, View view, int position,  
  12.            long id) {  
  13.         Log.d("..........OnItemLongClickListener", view.toString() + "position=" + position);               
  14.         Toast.makeText(testList.this"You OnItemLongClickListener click: " + position, Toast.LENGTH_SHORT).show();  
  15.         return true;  
  16.        }  
  17.       });    
  18.           
  19.      ....  
  20.   
  21.     }  
  22.   
  23.     ....  
  24.       
  25. }  
注意:长按操作的实现方式与短按的实现方式有点不同,它是通过设置ListView的setOnItemLongClickListener函数来实现的。
0 0