Autore Topic: ClickListener in RecycleView  (Letto 340 volte)

Offline tonno16

  • Utente storico
  • *****
  • Post: 1232
  • Respect: +60
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
ClickListener in RecycleView
« il: 30 Luglio 2015, 12:54:35 CEST »
0
Salve a tutti.

So perfettamente che il listener per un click su item non è gestito bene dalle RecycleView,
Nel mio layout_row, ho un classico ImageButton che apre un PopUpMenu.
Cliccando mi sono accorto che era molto difficile prendere con precisione l'area occupata dal bottone/imageView/ImageButton. Ho Quindi implementato il TouchDelegate seguendo ciò che dice Google Developer.
Il risultato è sempre lo stesso.

Come prova del 9, ho impostato un click listener su una imageView del mio layout_row. Preciso che questa immagine occupa 96dp x 96dp, quindi è difficile non cliccarla. Eppure su 10 click solo uno reagisce e produce un Toast.

Tutti i click listener sono usati come segue all' interno di un mio ViewHolder
Codice (Java): [Seleziona]
    @Override
    public void bindItem(Entity entity, boolean isHeader) {
        if (firstTitle != null)
            firstTitle.setText(isHeader ? entity.getTitle().substring(0,1) : entity.getTitle());

       
        if(imageView!=null){
            imageView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Toast.makeText(mContext,"Short",Toast.LENGTH_SHORT).show();
                }
            });
        }
    }

Post unito: [time]30 Luglio 2015, 13:02:11 CEST[/time]
Mi scuso con tutti.
A differenza della listView non sapevo che un normale OnClickListener funziona facendo un doppio tap.
Per un normale click bisogna usare onTouchEventListener();

Post unito: 30 Luglio 2015, 13:19:54 CEST
Potete eliminare. Errore mio
« Ultima modifica: 30 Luglio 2015, 13:19:54 CEST da tonno16, Reason: Merged DoublePost »