我有一个ListView
使用自定义布局的自定义布局,该布局在自定义布局中有 5 个子View
对象(4TextView
和 1 CheckBox
)。但是,只有TextViews
绑定 -CheckBox
数据库中没有相应的字段。的目的CheckBox
只是确定我想在“下一步”中处理哪些正在显示的项目。我正在使用自定义ViewBinder
来正确分配文本值(因为数据库中的一些值是日期等)。
用户界面的一部分是三个按钮——“全部”、“无”和“反转”,我用它们来切换列表中每个项目的状态。例如,对于“全部”按钮,我使用以下代码执行此操作(我现在知道这是不正确的 - 我包含它以显示我正在尝试做的事情):
ListAdapter la = getListAdapter();
ListView lv = getListView();
int iCount = la.getCount();
for(int i=0; i<iCount; i++)
{
View vv = lv.getChildAt(i);
CheckBox cb = (CheckBox) vv.findViewById(R.id.ledgerItemCheckBox);
cb.setChecked(true);
}
只要列表中的项目数不超过列表大小,这样就可以正常工作,以便所有项目始终可见。但是,当我超过该数字时,“getChildAt”函数有时会返回 null,因为(如果我理解正确的话)它并不意味着返回列表中的所有项目,只返回那些可见的项目,这会导致NullPointerException
.
CheckBox
即使它们不可见,如何正确设置所有视图?