zoukankan      html  css  js  c++  java
  • ListView 中使用onItemClick和onItemLongClick的常见问题

    用过Listview 的朋友,可能会遇到这样的问题,当Listview的某一行有button存在时,无法弹出contextMenu;或者onItemClick 和onItemLongClick

    同时执行的等问题。下面就一些常见问题疏理一下。

      

      1.ListView

    本身可不可以调用setOnClickListner()代码上可以,但是运行马上会丢出异常,所以是不可以拦截Listview本身的click事件。

      2.ListView.setOnItemClickListener

    设置的listener什么时候会被调用?

      

    当点击某行内容是会被调用,但是如果这行内容中包含Button,ImgButton等控件时就不会被调用,为什么以及怎么解决见后面。

      

    3.ListView.setOnItemLongClickListener设置的listener什么时候被调用?

      当长按某一行时会被调用,而且在抬起之前就已经调用了。

      

    4.onItemLongClick的调用后还会调用onItemClick吗?

      

    这个要根据onItemLongClick的返回值来决定。

     

    lv.setOnItemClickListener(new OnItemLongClickListener() {    

               public boolean onItemClick(AdapterView<?> parent, View view, int position, long id) {    

                   System.out.println("Item LONG clicked. Position:" + position);    

                   return false;    

               }    

           });   

    lv.setOnItemLongClickListener(new OnItemLongClickListener() { 

      public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) { 

               System.out.println("Item LONG clicked. Position:" + position); 

               return false/true; 

      } 

     }); 

    如果返回false那么onItemClick仍然会被调用。而且是先调用onItemLongClick,然后调用onItemClick。  

    如果返回true那么click就会被吃掉,onItemClick就不会再被调用了。 

    5.监听onItemClick以及onItemLongClick影响弹出菜单吗?  nItemClick不影响;onItemLongClick如果返回true那么就会吃掉click事件,导致菜单不能弹。

     

    6.如何让包含button的item也能弹出菜单,回调onItemClick以及onItemLongClick的监听器呢?  

    需要设置Button属性: 

    android:focusable="false"   

    android:focusable="false" 

    android:longClickable="true"   

    android:longClickable="true" 

    否则无法收到onItemLongClick 以上基本上就是Listview使用时常见问题了,欢迎各位补充说明!

     

  • 相关阅读:
    天才绅士少女助手克里斯蒂娜「推柿子」
    sum「莫队」
    simple,跳楼机,[同余系最短路]
    ceoi「chase」
    jzoj5195 数的划分
    lcis
    rectangle
    w
    v·y「状压dp」
    分手是住院「期望dp」
  • 原文地址:https://www.cnblogs.com/zhanganju/p/3965846.html
Copyright © 2011-2022 走看看