Sto cercando di implementare ViewHolder nella mia app per Android, ma continuo a ottenere che ViewHolder non può essere risolto in un tipo, senza suggerimenti per un'importazione. Qualcuno sa come aggirare questo?Android: implementazione ViewHolder
risposta
Questo perché un ViewHolder
non è una classe che è da Android SDK, lo fai da te. In base a ciò che posso find, un ViewHolder
è un'implementazione che memorizza Views (per riga in un ListView in genere) per un'area più ampia, quindi è una sorta di classe helper e meccanismo di cache. Questo è uno example che ho trovato su sviluppatori Android di ciò che un ViewHolder
dovrebbe contenere.
Quindi è possibile implementarlo in un ListAdapter
o una classe simile.
Pagina # 36: http://www.slideshare.net/arslantumbin/prestazioni-ottimizzazione-for-android-32797106 –
**Create a Holder class**
protected static class ViewHolderItems
{
private ImageView mStoreImage;
private TextView mStoreName;
}
And use In getView method of adapter
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolderItems viewHolder;
if (inflater == null)
inflater = (LayoutInflater) activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null) {
convertView = inflater.inflate(R.layout.coupen_row, null);
viewHolder = new ViewHolderItems();
viewHolder.mStoreImage = (ImageView) convertView.findViewById(R.id.storeImage);
viewHolder.mStoreName = (TextView) convertView.findViewById(R.id.storeName);
convertView.setTag(viewHolder);
}
else
{
viewHolder = (ViewHolderItems) convertView.getTag();
}
return convertView;
}
Forse stai cercando il RecyclerView.ViewHolder che fa parte del supporto Android di lib.
Come il codice da questo link gist by Paul Burke
public static class ItemViewHolder extends RecyclerView.ViewHolder implements
ItemTouchHelperViewHolder {
public final TextView textView;
public final ImageView handleView;
public ItemViewHolder(View itemView) {
super(itemView);
textView = (TextView) itemView.findViewById(R.id.text);
handleView = (ImageView) itemView.findViewById(R.id.handle);
}
@Override
public void onItemSelected() {
itemView.setBackgroundColor(Color.LTGRAY);
}
@Override
public void onItemClear() {
itemView.setBackgroundColor(0);
}
}
Questo avrebbe senso per voi se si sta lavorando con una Android RecyclerView
In questo caso hanno bisogno di un oggetto per contenere la vista in modo che possa essere riempito con il contenuto, se necessario.
- 1. Viewholder Android per ViewPager
- 2. A proposito di ottimizzazione implementazione modello ViewHolder in ListView
- 3. Android Recyclerview vs ListView con Viewholder
- 4. ViewHolder - buona pratica
- 5. Android: Come accedere al viewholder in posizione (dall'esterno dell'adattatore)
- 6. Android - Il pattern ViewHolder è implementato automaticamente in CursorAdapter?
- 7. Implementazione MVP Android
- 8. Accesso Android - Migliore implementazione
- 9. È cruciale per le prestazioni avere ViewHolder come statico in un pattern ViewHolder?
- 10. Implementazione client SAML per Android?
- 11. Caricamento più veloce di ListView, più veloce del metodo Viewholder
- 12. non mostra getSupportFragmentManager su ViewHolder in RecyclerView
- 13. Kotlin sintetico in adattatore o ViewHolder
- 14. ViewHolder ArrayIndexOutOfBoundsException: length = 2; index = 2
- 15. dovrebbe il riferimento di holdholder viewholder per l'adattatore?
- 16. ListView molto lento durante lo scorrimento (utilizzando ViewHolder/riciclaggio)
- 17. Implementazione OnValueChange ad un NumberPicker in Android
- 18. NoSuchAlgorithmException Android: "implementazione SSLContext SSL non trovato"
- 19. Implementazione olio effetto pittura in Android
- 20. Callback del metodo di implementazione in Android
- 21. Migliore implementazione di Rotate3dAnimation in Android ViewFlipper
- 22. implementazione C# -come eventi in Android/Java
- 23. implementazione personalizzato stile EditText in Android
- 24. Implementazione completamento automatico con ListView in Android
- 25. Implementazione di pattern DAO su progetto Android
- 26. Implementazione del paytm simile a Android
- 27. ListView con ArrayAdapter e ViewHolder che aggiungono icone all'elemento errato
- 28. Android - Implementazione del cassetto di navigazione in Android 2.2 +
- 29. Implementazione XmlResourceParser
- 30. Il modello ViewHolder è stato implementato correttamente in CursorAdapter personalizzato?
Ecco un buon esempio di ViewHolder http://smr-android.blogspot.ru/2014/04/implementing-listview-with-swipe.html –