Android - ListActivity 单击事件的响应

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

你可能感兴趣的:(android,ListView,Class)