Android - ListActivity 单击事件的响应

来源:互联网 发布:mac怎么取消双系统 编辑:程序博客网 时间:2024/05/21 11:27
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函数来实现的。

原创粉丝点击