Bir listem var Özel bir bağdaştırıcı ile görüntüleyin. Bir şey olduğunda (bir çocukta bir tıklama) bazı hesaplamalar yaparım ve Çocuk Görünümünü değiştiriyorum. Bazı koşullar yerine getirilmişse, tıklanan çocuğa ilgisiz başka bir çocuk da değiştirilmelidir.Bazen listView.getChildAt (int dizini) NULL (Android)
Bu bazen çalışır, ancak bazen başarısız olur ve DDMS görünümü boş olduğunu söylüyor ...
Sana kodu gösterelim: if(invalidaEste != -1)
{
try
{
View v = lv_data.getChildAt(invalidaEste);
if(v== null)
{
Log.e("MY_LOG", "SIZE " + lv_data.getCount());
Log.e("MY_LOG", "IS_NULL " + String.valueOf(invalidaEste));
}
if(invalidaEste >= lv_data.getFirstVisiblePosition() &&
invalidaEste <= lv_data.getLastVisiblePosition())
{
RelacionFacturaPago rpf = (RelacionFacturaPago)lv_data.getAdapter().getItem(invalidaEste);
TextView tv = (TextView)v.findViewById(R.id.tv_pendiente);
tv.setText(Formato.double2Screen(rpf.getPorPagar()));
}
}
catch (Exception e)
{
Log.e("MY_LOG", "FAIL");
Log.e("MY_LOG", String.valueOf(invalidaEste));
}
}
invalidaEste istediğim görünümüdür düzenlemek. n null Olduğunda, tamam olup olmadığını kontrol etmek için dizini günlüğe kaydederim. Daima küçüktür veya eşittir listView.getCount()
Bu neden oluyor?
Daha fazla veri: Bu kod, bir AnimationListener dinleyicinin onAnimationStart (Animasyon animasyonu) içinde.
Bağdaştırıcının null değeri var mı? – zapl
olası bir kopyası [görünür görünüm için sıfır döndüren liste görünümü] (http://stackoverflow.com/questions/6766625/listview-getchildat-returning-null-for-visible-children) – rds