gpt4 book ai didi

android - 滚动出 View 时在 recyclerview 中保存项目的状态

转载 作者:搜寻专家 更新时间:2023-11-01 08:45:29 25 4
gpt4 key购买 nike

在我的项目中,我有一个最多包含 20 个项目的 recyclerView。在行模板中,我有一个 TextView 和一个最初隐藏的按钮,在 recyclerview 项目上单击按钮的可见性。问题是当显示第一行中的按钮时,如果它被滚动出 View 然后向后滚动,则该按钮在不调用 toogle visibility 的情况下再次不可见。如何在滚动时将对象的状态保存在回收器 View 中视线之外

最佳答案

您的 RecyclerView 列表项从列表/数组中的对象获取它们的状态,它们基于您的适配器类使用的对象。

如果你想保存选中状态,你可以在你的对象类中添加一个 bool 字段来设置和保存值,这样当你的适配器点击时更新它并相应地设置按钮的可见性。

不要在 ArrayList 中使用字符串,而是使用一个简单的对象类来保存字符串和一个用于按钮可见性状态的附加 bool 值。

这样的类看起来像这样

        class Items {
String myString;
boolean visibility;

public String getMyString(){
return myString;
}

public boolean isVisible(){
return visibility;
}

public void setVisibility(boolean visibility){
this.visibility = visibility;
}
}

在您的 RecyclerView 中,您将有一个方法来设置列表项的值,我从未使用过它,但我相信它叫做 bindView?在此处设置列表项的文本值的同时,还根据 item.getVisibility() 返回的值设置可见性,并在调用按钮的 onClick 方法时进行设置。

希望对您有所帮助。

关于android - 滚动出 View 时在 recyclerview 中保存项目的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28796328/

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