gpt4 book ai didi

android - 从 fragment 中的适配器(recyclerview)获取所有项目

转载 作者:行者123 更新时间:2023-11-29 15:42:54 25 4
gpt4 key购买 nike

您好,我在从 fragment 中的适配器获取所有项目时遇到问题。更具体地说,我将 ScaleInAnimatorAdapter 与我的客户适配器一起使用,当我尝试从下面发布的代码中获取我的复选框项目时,在我的 fragment 中,我似乎只在屏幕上看到可见项目。

private View.OnClickListener onAllClick = new View.OnClickListener() {
@Override public void onClick(View v) {
int count = listAdapter.getItemCount();

for (int i = 0; i < count; i++) {
View mChild = listTopics.getChildAt(i);

if( mChild != null ) {
Log.d(TAG,"getItemCount(): " + i );

CheckBox cBox = (CheckBox)mChild.findViewById(R.id.topic_chk);
cBox.setChecked(((CheckBox) v).isChecked());
Log.d(TAG,"isChecked" + cBox.getTag());
cBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(((CheckBox) v).isChecked()) {
checkboxAll.setChecked(false);
}
}
});
}
}
}
};

本质上,我正在尝试创建 fragment 中的检查所有功能,以便在单击此选项时检查适配器中的所有复选框项目。我让它与我提供的代码一起工作,但主要问题是我只能在屏幕上看到项目,所以当我滚动到我的其他项目时,它们不会被选中。因此我想知道是否有更好的方法或其他方法让我获得所有项目

最佳答案

适配器旨在将底层数据存储绑定(bind)到 View ;它们通常不应该用于自己存储数据(除了出于 View 绑定(bind)目的而拥有数据副本),也不应该对数据执行操作。

相反,您应该修改基础数据,然后通过您已经使用的任何机制更新适配器。 (加载器、带有 notifyDataItemChanged 的​​自定义 setter 等)。

关于android - 从 fragment 中的适配器(recyclerview)获取所有项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37618458/

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