Soru & Cevap

Tek ListView İki Adaptör

04.12.2014 - 08:02

ListView'da bazı bilgileri göstermek isiyorum. İki tane adaptörüm var. Listview daki bazı textviewları 1.adaptörden bazı textviewları 2.adaptörden almam gerekiyor. Bunu yapabilmek mümkün müdür? Mümkünse nasıl yapabilirim?

6 Görüntülenme

3 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-12265-1397142254.jpg
gkaradagan
08.12.2014 - 03:02

Bence şöyle yapmalısın iki farklı classın var ve sen bu classtakı bilgileri tek bir listviewde farklı şekilde ve farklı datalarla gosterceksın. Class oluşturup ıcınde bir kontrol kodu yazarsın ve getview function ıcınde doldururken ve gosterirken o kontrole göre hangisini göstercegını hangı dataları kullancagına karar verirsin. Umarım anlatabılmışımdır eğer sıkıntı devam ederse daha detaylı anlatabılırım

Profile picture for user yavuzcalisir
yavuzcalisir
05.12.2014 - 12:11

ListView ile iki adaptor nesnesi olmaz. Bunun yerine Adaptor içerisine gönderdiğin array'leri birleştirebilirsin. Ve birleştrilmiş array'i Adaptore gönderebilirsin. 

Listeleri birleştirmek için ise aşağıdaki fonksiyonu kullanabilirsin.

[code]
public Araba[] birlestir(Araba[] a, Araba[] b) {

int aLen = a.length;

int bLen = b.length;

Araba[] c= new Araba[aLen+bLen];

System.arraycopy(a, 0, c, 0, aLen);

System.arraycopy(b, 0, c, aLen, bLen);

return c;

[/code]

 

Adapter'ün getView methodu içerisinde gerekli konrolü yapabilisin. Mesela eğer araba tekerlikli ise view içerisindeki textView'da farklı bir text yazabilirsin. 

selim
05.12.2014 - 02:52
Teşekkür ederim cevabınız için. Söylediğiniz şekilde yapmayı deneyeceğim.
picture-7494-1397646387.jpg
baranbuyuk
04.12.2014 - 10:45
Iki farklı adaptör sınıfı yaz. Hangisini göstermek istiyorsan onu adaptör olarak ekle..
selim
05.12.2014 - 02:54
Zaten iki farklı adaptör sınıfım var ve ben ikisini de ayni listview içinde kullanmak istiyorum. Yine de teşekkür ederim.