Иногда listView.getChildAt (int index) возвращает NULL (Android)
У меня есть listView с пользовательским адаптером. Когда что-то происходит (щелчок по дочернему элементу), я делаю некоторые вычисления и изменяю дочерний вид. Если какое-то условие выполнено, то другой дочерний элемент, не связанный с выбранным дочерним элементом, должен быть изменен.
Иногда это работает, но иногда не удается, и DDMS говорит, что представление является нулевым ...
Позвольте мне показать вам код:
<code> 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)); } } </code>
invalidaEste это мнение, которое я хочу изменить. когдаv is null Я регистрирую индекс, чтобы проверить, все ли в порядке. Всегда меньше или равен listView.getCount ()
Почему это происходит?
Дополнительные данные: код находится внутри onAnimationStart (анимация анимации) слушателя AnimationListener.