gpt4 book ai didi

android - 有时 listView.getChildAt(int index) 返回 NULL (Android)

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:57:08 26 4
gpt4 key购买 nike

我有一个带有自定义适配器的 ListView 。当发生某些事情时(点击一个 child )我会做一些计算并修改 subview 。如果满足了某些条件,则应修改与单击的 child 无关的其他 child 。

这有时有效,但有时会失败并且 DDMS 显示 View 为空...

让我给你看代码:

        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 是我要修改的 View 。当 v 为 null 时,我记录索引以检查它是否正常。始终小于或等于 listView.getCount()

为什么会这样?

更多数据:代码在 AnimationListener 监听器的 onAnimationStart(Animation animation) 中。

最佳答案

由于 View 回收,listView.getChildAt() 将只返回它显示的位置的 View ,也许还有一个。也许如果您分享更多代码,我们可以帮助您找到解决问题的最佳方法。

关于android - 有时 listView.getChildAt(int index) 返回 NULL (Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10318862/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com