【发布时间】:2014-07-23 18:21:44
【问题描述】:
我的问题与ListView getChildAt returning null for visible children 类似,但尽管搜索我还是找不到解决方案。
我有一个带有滚动条的ListView。 ListView 有 10 个项目,其中 7 个可见,3 个被滚动隐藏。我还有一个外部方法(适配器外),它必须从这个ListView 获取所有孩子(例如使用getChildAt())。
我需要所有 10 个项目,但最后 3 个是 null 对象。我尝试过如下代码:
getListView().smoothScrollToPosition();
但这不起作用。
我认为我不需要发布我的其余代码,因为描述说明了一切?
【问题讨论】:
-
但这不起作用。 - 它不起作用是正常的,因为
ListView包含仅可见行,它不会为不可见的孩子创建视图。为什么你需要访问ListView的所有子视图? -
每一行包含一个 RadioGroup 和一个必须由用户填写的 Button。所有行都是必需的。
-
您以错误的方式处理此问题。用户的操作应该反映在适配器的数据中,并且您应该从那里获得
RadioGroup的状态。 -
没错。我现在就试试。谢谢 Luksprog。
-
您好,关于获取所有数据没关系(外部方法)。没有可为空的数据。但是 ListView 不会在运行时保留 RadioGroup 的当前值。例如:第 1 行:O O * O 第 2 行:O O * O .... 第 10 行:O O * O 当我滚动滚动时:第 1 行:* O O O(返回原始值)我知道,这是关于 ListView只保留每个位置的可见行,但我找不到任何解决方案。有什么建议么?非常感谢您的耐心和支持。
标签: android android-listview android-view children