【发布时间】:2012-04-25 15:31:58
【问题描述】:
我有一个带有自定义适配器的 listView。当发生某些事情时(点击孩子),我会做一些计算并修改子视图。如果满足某些条件,则应修改与单击的孩子无关的其他孩子。
这有时有效,但有时会失败,并且 DDMS 说视图为空...
让我给你看代码:
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 是我要修改的视图。 当 v 为 null 时,我会记录索引以检查它是否正常。总是小于或等于 listView.getCount()
为什么会这样?
更多数据:代码位于 AnimationListener 侦听器的 onAnimationStart(Animation animation) 内。
【问题讨论】:
-
适配器有
null值吗?
标签: android view android-listview