recherche

Maison  >  Questions et réponses  >  le corps du texte

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

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

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

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

    android:descendantFocusability="blocksDescendants"

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

黄舟黄舟2771 Il y a quelques jours566

répondre à tous(2)je répondrai

  • 高洛峰

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

    N'utilisez pas l'événement onItemClick fourni par ListView.
    Enregistrez l'événement onClick lors de l'initialisation d'ItemView.
    Ensuite, enregistrez l'événement onClick pour Button.

    répondre
    0
  • 怪我咯

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

    Votre compréhension est fausse.

    ListView de ItemView Si une vue focalisable est utilisée, l'événement de clic de ItemView sera intercepté par ce type de vue. Pour résoudre ce problème, il vous suffit de définir les attributs suivants pour RootView dans la mise en page. xml. Pour résoudre les problèmes ci-dessus :

    android:descendantFocusability="blocksDescendants"
    

    Si vous souhaitez toujours définir ItemView pour ChildView de OnClickListener, appelez simplement View.setOnClickListener(OnClickListener) directement.

    répondre
    0
  • Annulerrépondre