ListView应用--------setOnItemLongClickListener和setOnItemClickListener

  ListView的Item中包含Button、ImageView时,在不进行任何设置的情况下,Item不能够响应setOnItemLongClickListener事件。因为Item中的子控件将优先获取到Click的Focus,若想使Item依旧能够响应需进行一下设置:对Item Layout的根控件设置其android:descendantFocusability=”blocksDescendants”。当然也可以通过对每个子控件的focusable属性均设置为false。

 在对ListView的item长按之后发生的事情:
     首先触发的是onItemLongClick函数,执行onItemLongClick操作,然后根据onItemLongClick的返回值判断是不是执行OnCreateContextMenuListener函数;如果onItemLongClick返回false,则会继续执行OnCreateContextMenuListener函数,否则返回true,忽略OnCreateContextMenuListener函数。因此我们可以在onItemLongClick的时候进行判断并且准备好OnCreateContextMenuListener中需要用到的数据,然后在OnCreateContextMenuListener中调用这些数据显示即可。

  list.setOnCreateContextMenuListener             和            onContextItemSelected---------(Override函数)在适当的时候也会有奇妙的用途

 

posted on 2012-08-16 16:56  风也无踪  阅读(2245)  评论(0编辑  收藏  举报

导航