gpt4 book ai didi

android - 如何在 ListView android中保存项目的状态

转载 作者:行者123 更新时间:2023-11-30 04:48:46 25 4
gpt4 key购买 nike

我将如何在滚动期间保存 ListView 项的状态,以便回收器在显示下一行时不使用它。我基本上有一个带有 4 个 TextView 的 ListView ,其中一个 TextView 是根据从数据库派生的条件显示的。为清楚起见,我将该依赖 TextView 称为“A”。

我的问题是,最简单的情况:如果“A”只显示在列表中的第一个项目或任何其他行,而它没有显示在其他任何地方,则滚动时,“A”会显示在其他应该显示的行上没有它。我理解 listview 重用行的概念,但我不知道如何将它保存在一个项目上,所以它不会在另一行中使用。这是一个只有 2 个 TextView 的简化代码:

  holder.viewItemName = (TextView)view.findViewById(R.id.nameId);
holder.viewdescriptionStatus = (TextView)view.findViewById(R.id.viewdescriptionId);

int namecolumn = c.getColumnIndex(DBAdapter.NAME);
String name = c.getString(namecolumn);

holder.viewItemName.setText(name);

int description = c.getColumnIndex(DBAdapter.description);
String descriptionstatus = c.getString(description);


/*problem am having here*/
if(description != null){
holder.viewdescriptionStatus.setText("description available");
holder.viewdescriptionStatus.setTextColor(Color.BLUE);
}

如您所见,我使用的是 viewHolder,但我逐渐意识到 viewHolder 也不符合逻辑。我不知道如何根据该条件保存 holder.viewdescriptionStatus 的状态。我见过的大多数例子都是基于复选框的。请任何有想法的人?..将不胜感激。

P.S:我正在使用 bindView() 和 newView(),因为我正在使用 SQLdatabase 和 SimpleCursorAdapter。我有同样的点击问题,但我想先解决滚动部分。感谢您的宝贵时间。

最佳答案

试试这个

holder.viewdescriptionStatus.setText(description != null ? "description available" : "");

关于android - 如何在 ListView android中保存项目的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4132522/

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