Merhaba arkadaşlar,

RecyclerView nesnesine itemları eklerken listenin sadece ekranda görünecek kısmı yükleniyor.. liste kaydırıldıkçada sıradaki satırlar adapterde işlem yapılarak ekranda gösteriliyor.. Aşağıdaki resimde görüleceği gibi..

Benim istediğim şey ise, ekranda görünenin satırlardan bir sonrakininde scroll oraya gelmediği halde hazırlanmasıdır, zira satırlarda göstereceğim verinin hazırlanması uzun sürüyor, scroll yapılmaya çalışıldığında çalışıyor fakat takılmalar oluyor, bu takılmaların kalkmasını istiyorum.. bunu nasıl yapabilirim?

alt text

soruldu: 13 May, 08:31

saidghrnk's gravatar image

saidghrnk
111283536
cevap kabul oranı: 0%

RecyclerView yerine ListView kullanmak çözmedi mi probleminizi ?

(20 May, 05:34) ersinyildiz ersinyildiz's gravatar image

RecyclerView'ın olayı performansı arttırmaktır. ListView'dan da ViewHolder pattern'ını uygulayarak çalıştığı için daha stabil çalışır.

RecyclerView ya da Listview'ın çalışma mantığı kabaca; görünür olmayan row'ları memory'de tutmayarak scroll edildiğinde tekrar oluşturmak, scroll'un dışında kaldığında ise memory'den silmektir. Siz alt alta ekleme yaparsanız recyclerview'dan belki onlarca kat performanssız bir işlem yapmış olacaksınız. Buradaki problemeniz recyclerview'ın çalışma mantıgından değil, bir şeyleri yanlış yaptıgınızdan kaynaklanıyor.

RecyclerView'ın her row'una ait xml i, adapter'ü ve recyclerview'a adapter'ü set ettiğiniz kısımları paylaşırsanız yardımcı olmak isterim. İlle de alt alta eklemek, her row'un hazır olmasını istiyorsanız:

//MainAcitivity.inflater'ı main actvity içinde static inflater tanımlayıp oncreate'inde almanız gerekiyor. O kısımları yazmıyorum kolay zaten halledersiniz. for(int i = 0; i < list.size ; i++){ View v = MainActivity.inflater.inflate(R.layout.row, containerLL, false);

TextView v = v.findViewByID(R.id.textView); . . .

containerLL.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v){ //row'ların üzerine tıklandığında bir şey yapmak istiyorsanuz

} containerLL.addview(v);

}3305

permanent link

cevaplandı: 20 May, 10:22

nechati's gravatar image

nechati
0
cevap kabul oranı: 0%

Necati hocam, cevap yazdığınız için teşekkür ederim.

Performansı sağlaman için RecyclerView kullanıyorum fakat benim sorunum şu şekilde.

Her row'a bir editview yerleştiriliyorum. Bu editview'e ise ortalama 1000 kelimeden oluşan bir metni spannable sınıfını kullanarak formatladıktan sonra set ediyorum. Set edilmesi belli bir süre aldığı için kaydırma sırasında yeni editview ekrana yükleneceği sırada ufak takılmalar oluşuyor.

Benim meselem bu takılmayı kaldırarak scrolun yağ gibi akmasını sağlamak. Eğer görünen row'un bir önceki ve sonrakini önceden hazırlarsam sorunun ortadan kalkacaktır

(21 May, 07:10) saidghrnk saidghrnk's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×819
×2

Soruldu: 13 May, 08:31

Görüntüleme: 235 kez

Son güncelleme: 21 May, 07:10

powered by BitNami OSQA