长按事件之setOnItemLongClick与 onCreateContextMenu比较分析

来源:互联网 发布:wacom没有压感 mac 编辑:程序博客网 时间:2024/05/22 19:28

     

    长按事件可以使用ListViewsetOnItemLongClick函数进行关联,里面会实现方法:public boolean onItemLongClick(AdapterView<?> arg0, View arg1,int arg2, long arg)可以通过Map<String, String> currMusicMap = (Map<String, String>)argo.getAdapter().getItem(arg2) 获得当前长点击项相关内容。

   长按事件还可以使用 onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) ,只是此时无法将当前选项与ListView相关联,即不可以像setOnItemLongClick那样获得每项item存放的map信息,设置该项监听用setOnCreateContextMenuListener。

   另外,实现这个效果需要理解对ListViewitem长按之后发生的事情:首先触发的是onItemLongClick函数,执行onItemLongClick操作,然后根据onItemLongClick的返回值判断是不是执行OnCreateContextMenuListener函数;如果onItemLongClick返回false,则会继续执行OnCreateContextMenuListener函数,否则返回true,忽略OnCreateContextMenuListener函数。
 

0 0