2013-11-26 10 views
18
  1. Ho un ListView nel mio ListView mostra ImageButton.Listview itemclick non funziona

  2. Ho impostato focusalble "false" e focusableInTouchMode "false" su ImageButton.

  3. Ho impostato ListView.OnItemClickListner. Quando eseguo il mio progetto è mostrare il mio ListView.

  4. Ma quando faccio clic su Listview non funziona.

  5. Poi tolgo ImageButton nel layout ed eseguire nuovamente il mio progetto quando scatto ListView E' un lavoro

  6. Cosa non va?

+2

come possiamo aiutarti senza avere un codice per illustrare il tuo problema ... – Coderji

+0

imposta il pulsante immagine su onclickable false, onfocusable false e anche focalizzabile su touch su false .. Anche nell'adattatore imposta queste proprietà. se è necessario implementare un clic sul pulsante dell'immagine, farlo nella classe dell'adattatore. –

risposta

62
android:focusable="false" 
android:focusableInTouchMode="false" 

non funziona per ImageButton.

nel layout xml, Aggiungi questa proprietà ai layout di radice

android:descendantFocusability="blocksDescendants" 

Funziona perfettamente per un controllo ListView che ha ImageButton.

+0

Ahh .. Continuo a dimenticare questo tag. Ho perso un'altra ora. Vorrei poter votare questo più di una volta. – noob

+0

contento che ti aiuti. – Dev

+2

Ancora rilevanti, dopo un anno! – User3

1

In realtà non c'è niente di sbagliato. Quello che stai facendo è ok. Ma penso che tu abbia dimenticato un fattore chiave qui ImageButton ha il proprio OnClickListener. Quindi, quando si incorpora il tuo ImageButton nella riga listview, ListView.OnItemClickListner non funziona perché il click/touch è invocato da ImageButton, è a causa del fatto che ListView non riceve l'evento click/touch. Acquista questo link: How to fire onListItemClick in Listactivity with buttons in list?

0

Credo che si sta utilizzando personalizzare visualizzazione elenco Item solo cercare di impostare impostare focusable "false" e focusableInTouchMode "false" per tutti vista nella vostra custom_list_view_item.xml Non preoccuparti per il pulsante immagine, se si utilizza il listener dei clic per l'immagine Pulsante nell'adattatore, Funzionerà anche bene. basta fare focusable "false" e focusableInTouchMode "false" per tutti vista nella vostra custom_list_view_item.xml

0

Può essere che si hanno scritto onclick listener per il pulsante immagine in classe adattatore

Esempio:

imageButton.setOnClickListener(new OnClickListener() 
     { 
      @Override 
      public void onClick(View v) { 


      } 
     }); 

Se si imposta onclick listener per l'elencoItem, verrà automaticamente utilizzato l'input di azione in modo che non sia possibile fare clic sulla voce di elenco.

6

Non sei l'unico malato :) Questo comportamento è spesso considerato un bug dagli sviluppatori Android Dai un'occhiata a questo link della loro conversazione.

Per risolvere il problema, è sufficiente includere l'attributo android:descendantFocusability="blocksDescendants" nel layout radice.

1

Se si utilizza personalizzato Listview e nel costume lista oggetto Listview fila se solo Textview e Imageview, è necessario rimuovere android:inputType="". Causa problemi di focalizzazione.

Problemi correlati