2010-10-08 15 views

cevap

5

ListView'ünüz için BaseAdapter'ı genişleten özel bir bağdaştırıcı yazmalısınız. Belirli öğeleri devre dışı bırakmak için, bu bağdaştırıcıdaki "boolean isEnabled (int position)" seçeneğini geçersiz kılmanız ve devre dışı bırakmak istediğiniz her konum için false döndürmeniz gerekir.

Belirli liste öğeleri için arka plan rengini değiştirirken, arka plan rengi değerini görüntülemekte olduğunuz veri yapısında saklayabilirsiniz. Özel bağdaştırıcınızın 'getView()' yönteminde, geçerli öğenin bu renk değerini kontrol etmeli ve doğru arka plan renk kümesine sahip bir Görünüm döndürmelisiniz.

Veya ListView'de 'getChildAt()' ifadesini çağırıp, Listede istenen öğe için Görünüm nesnesini geri alabilir ve arka plan rengini değiştirebilirsiniz. Sanırım önceki çözümü kullanmayı tercih ederim.

ListView'unuzun bağdaştırıcısında 'notifyDataSetChanged()' öğesini bu şekilde değişiklikler yaptıktan sonra çağırmayı unutmayın.

+0

thanx çok! işe yaradı! – mdv

İlgili konular