搜尋

首頁  >  問答  >  主體

android - Button设置了focusable="false",还怎么监听到事件?

由于使用了onItemClickListener,存在Button的时候ListView不能监听到点击事件,所以对Button做了如下处理

    android:focusable="false"
    android:focusableInTouchMode="true"

对Button的父类容器做这样的处理

    android:descendantFocusability="blocksDescendants"

之前的ListView监听问题解决了
但是,不知道后续应该怎么做了,我想在button上也添加事件,但是我理解的状态是:目前不能添加事件了,我理解的对不对,请各位大神指教

黄舟黄舟2771 天前567

全部回覆(2)我來回復

  • 高洛峰

    高洛峰2017-04-18 09:17:19

    不使用ListView提供的onItemClick事件。
    在初始化ItemView的時候註冊onClick事件。
    然後再給Button註冊onClick事件。

    回覆
    0
  • 怪我咯

    怪我咯2017-04-18 09:17:19

    你的理解不對.

    ListViewItemView如果使用了任何focusable的View, 那麼ItemView的點擊事件就會被該類別View給攔截了. 解決這個問題只需要給layout-xml中的RootView設定如下屬性即可解決上述問題:

    android:descendantFocusability="blocksDescendants"
    

    如果還想給ItemViewChildView设置OnClickListener, 那就直接调用View.setOnClickListener(OnClickListener)就好了.

    回覆
    0
  • 取消回覆