由于功能需要,在imageview添加了监听器,,在后面想删除这个监听器怎么删除??

解决方案 »

  1.   

    你监听器是什么?
    一般是setXXLinster(null)
      

  2.   

    1楼的方法应该是OK的啊 完全删除和设置为null,效果难道不是一样的吗?
      

  3.   


    试过这个方法,不行呐我想要完全删除了这个监听器,等效于从没有没给添加过监听器的那种效果
    一般是setXXLinster(null)  这种方式等同于删除之前设置控件的监听事件。sdk中没有提供removeXXXListener类似的接口,其实内部实现事件监听原理,也是判断监听对象是否为空,才进行事件分发的。
      

  4.   


    试过这个方法,不行呐我想要完全删除了这个监听器,等效于从没有没给添加过监听器的那种效果
    一般是setXXLinster(null)  这种方式等同于删除之前设置控件的监听事件。sdk中没有提供removeXXXListener类似的接口,其实内部实现事件监听原理,也是判断监听对象是否为空,才进行事件分发的。
    这样的,我用的是framelayout,底层是可以放大的地图,上层一排imageview,如果我不添加监听器,点击所在区域就是点击在底层的,如果添加了监听器(即使添加后我在设置为null),就变成点击在上层的imageview了
      

  5.   

    上面说的是对的,但也有类似于unRegisterListner这样的方式,看API有没有类似的方法就是。 
      

  6.   


    试过这个方法,不行呐我想要完全删除了这个监听器,等效于从没有没给添加过监听器的那种效果
    一般是setXXLinster(null)  这种方式等同于删除之前设置控件的监听事件。sdk中没有提供removeXXXListener类似的接口,其实内部实现事件监听原理,也是判断监听对象是否为空,才进行事件分发的。
    这样的,我用的是framelayout,底层是可以放大的地图,上层一排imageview,如果我不添加监听器,点击所在区域就是点击在底层的,如果添加了监听器(即使添加后我在设置为null),就变成点击在上层的imageview了
    那是你设置错了,和有木有监听器没有关系,就像listview里面加checkbox,你onclick的时候,是要设计好你的代码的,我觉得你还是好好看看你的代码
      

  7.   

    封装所有的你设置监听的方法 setListener()不用的时候setListener(NULL)