React Native özelliğini kullanarak bir mobil uygulama yapıyorum ve dahil edilen bileşen bileşenleri bunun için yeterince yüksek performansa sahip olmadığından, Android'in RecyclerView öğesini liste bileşeni olarak kullanmaya başladım. Bununla birlikte bir sorun var. RecyclerView, kaydırılan veya RecyclerView'ın boyutunu değiştirene kadar içerik görünümlerini güncellemez. Bu soruna neden ve onu nasıl düzeltebilirim? BenDatasetChanged, notifyItemChanged, forceLayout, geçersiz kılma, postInvalidate ve her biri ile çok farklı varyasyonları bildirmeyi denedim.Ürünü içe aktarma içerisindeki görünümü görmek için Android RecyclerView'ı kullanma React Yerel bileşen
cevap
bu bir this.setIsRecyclable(true);
O görüşlerinizi referesh olacaktır deneyin
public class MainActivity extends AppCompatActivity {
private RecyclerView mRecyclerView;
private ArrayList<String> mSingleItemLists = new ArrayList<>();
private SingleListItemAdapter mSingleListItemAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view_single_item);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
mRecyclerView.setLayoutManager(linearLayoutManager);
setDummyData();
}
private void setDummyData() {
for (int i = 0; i <= 30; i++)
mSingleItemLists.add("item" + i);
}
@Override
protected void onResume() {
super.onResume();
mSingleListItemAdapter = new SingleListItemAdapter(mSingleItemLists);
mRecyclerView.setAdapter(mSingleListItemAdapter);
}
class SingleListItemAdapter extends RecyclerView.Adapter<SingleListItemAdapter.SingleListItemHolder> {
private ArrayList<String> mSingleItemLists;
private SingleListItemAdapter(ArrayList<String> singleItemLists) {
mSingleItemLists = singleItemLists;
//You can do notifydatasetchange if u r having any saved value
}
@Override
public SingleListItemAdapter.SingleListItemHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View inflatedView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.row_recyclerview, parent, false);
return new SingleListItemHolder(inflatedView);
}
@Override
public void onBindViewHolder(SingleListItemAdapter.SingleListItemHolder holder, int position) {
holder.mItemDate.setText(mSingleItemLists.get(position));
}
@Override
public int getItemCount() {
return mSingleItemLists.size();
}
class SingleListItemHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
private TextView mItemDate;
SingleListItemHolder(View v) {
super(v);
mItemDate = (TextView) v.findViewById(R.id.textview_recycler_list_item);
v.setOnClickListener(this);
this.setIsRecyclable(true); // This will help u
}
@Override
public void onClick(View v) {
//do your stuff
notifyDataSetChanged();
}
}
}
}
Tüm ViewHolders'lara this.setIsRecycleable (true) eklemeyi denedim ancak maalesef bu, görünümlerimin yenilenmesini sağlamıyor. – Vaintti
mSingleListItemAdapter = new SingleListItemAdapter (mSingleItemLists); mRecyclerView.setAdapter (mSingleListItemAdapter); Yeniden yönlendirmeyi istediğiniz yere yeniden yerleştirmeyi deneyin. –
Bu görünüm ilk kez görüntülenmez ve listenin başlangıcına ve buna benzer şekilde atlamalara neden olur. – Vaintti
- 1. Matlab İçerisindeki Spears SDIF Dosyalarını İçe Aktarma
- 2. react: Alt bileşen
- 3. React Yerel Android ve Genymotion
- 4. React Native: Android Yerel Modülü
- 5. React Yerel Android Webview Video
- 6. Android CSV içe aktarma sorunu
- 7. Typescript içe/içe aktarma/içe aktarma gibi?
- 8. ES6 `içe aktarma * içe aktarma?
- 9. Köşeli 2: İç İçe Geçiş Dizilerini Geçecek Bileşen Girdisini Kullanma
- 10. Özel bir yerel modül Jest ile içe aktarılan React Native bileşen nasıl test edilir?
- 11. React ES6'yı TypeScript'e Geçiş: İçe aktarma ifadeleri çalışmıyor
- 12. Tepki bileşen görünümü güncelleştirmeyi almıyor
- 13. React Native: Proje dizini dışındaki modülleri içe aktarma
- 14. React Yerli yerel görüntülere Android ile URI
- 15. React Yerel Android klavye vurgulayın metin sorunu
- 16. Tepki doğusundaki npm modülünü içe aktarma hatası
- 17. İçe aktarma test dosyalarını alt dizinlerden içe aktarma
- 18. Toplu vektör öğeleri içe aktarma Android Studio
- 19. Neden ... içe aktarma, Python'da içe aktarma zamanında içe aktarılıyor?
- 20. Android Studio kütüphanesi içe aktarma hatası
- 21. Tutulma projelerine içe aktarma yalnızca Android projelerini içe aktarıyor
- 22. Modal View in React Yerel
- 23. Github'dan python kitaplıklarını içe aktarma
- 24. Aynı klasördeki dosyaları içe aktarma
- 25. React Yerel Listeye çıkış alanı
- 26. İçe aktarma modülü yöntemi nerede ... içe aktarma kullanılıyor
- 27. `x içe aktarma *` işlevi,
- 28. İçe aktarma bildirimi
- 29. Java statik içe aktarma
- 30. sessizce içe aktarma
ihtiyaçlarınızı tatmin flatlist değil mi, ve bu sayfayı gördük https://facebook.github.io/react- native/docs/virtualizedlist.html # virtualizedlist? Flatlist sanallaştırılmış listeden miras alır, 'data' öğelerinizi hazırlamaya çalışın PureComponent – eden
Düz listeyi kullanmayı denedim ancak performansı amacım için yeterince iyi değil. Binlerce öğeden veri kullanıldığında oldukça yavaş oluyor. – Vaintti
Liste öğelerinizi Pure Component yapmayı denediniz mi? – eden