2015-04-06 13 views
18

Recycler View görünümünü ViewHolders alttan üste göstermek için bir yöntem gördüm. Şimdi, hiçbir yerde bulamıyorum (Yarım saat sonra RecyclerView, RecyclerAdapter, LayoutManager ...).Geri Dönüştürücüyü Göster alttan görünen satırları göster

+0

yapmak Ama bir ViewHolder varken, ben alt ve böylece görünmesini istediğiniz LinearLayoutManager kullanıyorsanız. Ayrıca en üste kaymayı başaramadım ve sadece daha fazla satır ekleyemedim (kullanıcı listeye geldiğinde sonsuz liste yapmak ve daha fazla veri yüklemek gibi). – Gudin

cevap

37

LinearLayoutManager.setStackFromEnd(true) adlı arıyorsunuz?

Düzenleme

LinearLayoutManager.setReverseLayout(true) hile yok çıkıyor. Her iki durumda da, okuyucu, her bir yöntemin ve her ikisinin kombinasyonunun, gerekli etkiyi elde etmek için denemek isteyebilir.

+1

Ben aptalım. RecyclerView.LayoutManager altında bakıyordum. Ancak doğru yöntemin de LinearLayoutManager içinde setReverseLayout (boolean ReverseLayout) olduğunu düşünüyorum. – Gudin

+0

'u kontrol etmeye gidecektim, ama aynı şeyi sunacağım sanırım farklı bir şey için :) Ben de aynı anda hem projemde hem de satırların en üstte görünmesini sağlamak için eskilerin üstüne yenilerini ekliyorum. – AndroidEx

+1

tamam, test etmek için biraz zamanım var: .setStackFromEnd (true) çalışmıyor, ancak .setReverseLayout (true) mükemmel çalışıyor. Her neyse, cevabınızı doğru olarak kabul edeceğim (yalnızca gelecek izleyiciler için .setReverseLayout'a eklemek isteyebilirsiniz). – Gudin

2

Bu görevi xml koduna iki satır ekleyerek gerçekleştirebilirsiniz.

app:stackFromEnd="true" 
app:reverseLayout="true" 

Bu, tüm sohbet uygulamaları olarak çalışacaktır.

+1

işe yaramıyor, gerekli başka değişiklikler var mı? – behelit

+3

evet tabi ki eğer hizmetten dinamik olarak öğeler yüklerseniz, bu satırı ekleyerek herhangi bir öğe ekledikten sonra aşağıya kaydırmanız gerekir 'mRecyclerView.scrollToPosition (mAdapter.getItemCount() - 1); ' –

+0

@MostafaAnter Belki siz yanılıyorsunuz. Bu iki alan birlikte, mRecyclerView.scrollToPosition (0); son öğeyi (örneğin sohbet listesi) gösterecektir, biz bu satırı sadece bir kez çağırıyoruz (daha fazla sayfa yüklerken onu çağırmaz) –

2

üçüncü param (reverseLayout) yanlış

LinearLayoutManager linearLayoutManager = 
      new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false); 
İlgili konular