gpt4 book ai didi

android - 选择所有 ListViewItem 的 CheckBox

转载 作者:行者123 更新时间:2023-11-29 17:37:41 24 4
gpt4 key购买 nike

我得到了一个包含我创建的列表项的 ListActivity。每个项目中都有一个 CheckBox。此外,布局有一个按钮,它应该只是检查所有的复选框,但即使正在调用按钮的 OnClickListener,它也不起作用。

这是从列表适配器调用的方法:

    public void ChangeAllCheckStatus(boolean checked)
{
synchronized (items)
{
for (ItemData item : items)
{
item.checked= checked;
}
}
notifyDataSetChanged();
}

这是 getView 方法:

@Override
public View getView(int position, View convertView, ViewGroup parent)
{
View vi = convertView;
if (vi == null)
{
vi = m_inflater.inflate(R.layout.myItem, null);
}
TextView nameTextView = (TextView) vi.findViewById(R.id.firstText);
TextView addressTextView = (TextView) vi.findViewById(R.id.secondText);
CheckBox cb = (CheckBox) vi.findViewById(R.id.the_checkBox);
nameTextView.setText(items.get(position).string1);
addressTextView.setText(items.get(position).string2);
cb.setSelected(items.get(position).checked);
return vi;
}

我尝试选中所有复选框的方式有问题吗?

最佳答案

您不从适配器获取 View 。 ListView 就是这样做的。

相反,您可以像这样通过 ListView 循环它们:

ListView lv;
int itemCount = lv.getCount();
for (int i=0; i<itemCount; ++i) {
CheckBox cb = (CheckBox) lv.getChildAt(i).findViewById(R.id.the_checkBox);
cb.setChecked(true);
}

关于android - 选择所有 ListViewItem 的 CheckBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29945972/

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