Usare la logica che abbiamo avuto con ListAdapter
. Questo disabiliterà gli elementi dell'adattatore, invece dei loro genitori.
public interface RecyclerViewItemEnabler{
public boolean isAllItemsEnabled();
public boolean getItemEnabled(int position);
}
e l'attuazione dovrebbe assomigliare a questo:
public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> implements RecyclerViewItemEnabler{
@Override
public void onViewAttachedToWindow(RecyclerView.ViewHolder holder) {
super.onViewAttachedToWindow(holder);
holder.itemView.setEnabled(isAllItemsEnabled());
//or do this in onBindViewHolder()
}
@Override
public boolean isAllItemsEnabled(){ return mAllEnabled; }
@Override
public boolean getItemEnabled(int position){
return true;
}
public void setAllItemsEnabled(boolean enable){
mAllEnabled = enable;
notifyItemRangeChanged(0, getItemCount());
}
}
Usage: mRecylerAdapter.setAllItemsEnabled(!mSwipeRefreshLayout.isRefreshing());
fonte
2015-01-16 04:18:08
funziona bene! Grazie mille @NikolaDespotoski! – falvojr
Per qualche motivo non funziona per me. Non solo posso fare clic su ogni elemento, ma tutte le voci lampeggiano contemporaneamente al clic. Ho implementato questo codice esatto, sembra semplice ma ... – iBobb