2016-04-12 10 views
0

Özel Adaptör kullanarak doldurduğum bir gridView var. Özel adaptör, her hücrede olduğu gibi, kullanıcı gereksinimlerine göre farklı türde widget'ları yerleştirdiğim için biraz karmaşıktır. Bu iyi çalışıyor ve değerleri belirli widget'lara kaydırıp ayarlayabiliyorum.Izgarada kaydırmaKayıtlı veriyi kaydetmeme izin vermiyor

Kaydetme zamanı geldiğinde, GridView'ın çocukları arasında dolaşıp değerleri bir JSON'a geçiriyorum. Bu da sadece görünür çocuklar için çalışıyor.

Birisi, hücrelerdeki, ancak ızgara görünümünde görünmeyen widget'ların değerlerini nasıl alabildiğimi söyleyebildiğimi söyleyebilir mi?

Teşekkürler.

cevap

0

Evet, bu sorun ListView ve GridView üzerinde oluşur, çünkü bu bileşenlerin içindeki android görünümleri yok eder ve yeniden oluşturur.

İlk: senin GridView her bir satır veya öğenin değerini kaydetmek için size Adaptörü de değişiklik ekle bu sorunu geçmek gerekirse

iki seçeneğiniz vardır.

İkinci: Bu sorun, içinde görünmez çünkü RecyclerView kullanın.

İkinci seçeneği tercih ederim. RecyclerView, Grid ve ListView'dan daha iyi.

+0

Merhaba Ahmed. Izgara Görünümümü bir Geri Dönüşüm Görüntüsüne değiştirdim ancak aynı sorunla karşı karşıyayım. RecyclerView.getChildCount yalnızca görünür noyu döndürür. çocukların Sonra layoutManger çalıştı ama aynı sorunu vardı. LayoutManager.getItemCount() doğru sayıda çocuk aldı, ancak görünür olmadığında herhangi bir görünüme erişemiyorum. GetChildAt() kullanıyorum. Bir şey mi kaçırdım? – Prem

+0

@Prem 'RecyclerView' öğeleri üzerinde işlem yapmanız gerekiyor mu? –

+0

Evet. RecyclerView üzerinde bulunan Checkbox ve RadioButtons gibi birkaç widget vardır. Kaydetmeye basarken, tüm bu değerleri almalı ve bunları bir JSON'a iletmeliyim. Bir yolu var mı? – Prem