gösterilmeyen bir böyle scrollview içinde RecyclerView vardı:RecyclerView, bazı öğeleri
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--other stuff-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"/>
</LinearLayout>
<!--other stuff-->
</ScrollView>
Ve RecyclerView
'ın öğeyi bir EditText
ve diğer görünümleri vardır içeride olan bir RelativeLayout
olduğunu. RelativeLayout
ve EditText
'un layout_height
numarası wrap_content
'dur. Kullanıcı, EditText
numarasına herhangi bir uzunluk/çizgi sınırı olmadan girebilir, böylece her bir öğenin yüksekliği farklıdır.
Sonra Adapter
içinde getItemCount()
değeri true değerini döndürdüğünü, ancak onBindViewHolder()
yanlış zamanların (daha az olması gerekir) çağrıldığını buldum, bu nedenle tüm öğeleri göstermek için yeterli değil.
Bu, yalnızca recyclerView.setNestedScrollingEnabled(false)
yazdıysanız gerçekleşecek olduğunu buldum. Ama bu çizgiyi kaldıramıyorum. Çünkü ben öyle yapsaydım, RecyclerView
düzgün kaydırmaz ve ScrollView
ve ScrollView
'un içinde diğer görünümlerle uyumlu değildir.
Bu, 6.0 üzerinde olur, ancak 4.1 üzerinde değil.
Bu sayfada Google ile iletişim kurdum: https://code.google.com/p/android/issues/detail?id=213914 ve bunun bana RecyclerView
için bir hata düzeltmesi olduğunu söyledi. Soruyu ve hedefimi daha iyi anlayabilmeniz için bu sayfayı ziyaret edebilirsiniz (Orada sorunu göstermek için küçük bir örnek proje var). Ona şimdi bile katılmıyorum ve sorunu çözmek istiyorum. Lütfen yardım edin, şimdiden teşekkür ederim.
android ayarlamayı deneyin: scrollView içinde fillViewport = "true" –
@LucasPaolillo Peki, bu yardımcı olmuyor. – ywwynm
android: fillViewPort = "true", doğrusal düzen yüksekliğini match_parent olarak değiştirin –