从 ListView 更改特定元素

Posted

技术标签:

【中文标题】从 ListView 更改特定元素【英文标题】:Change specific element from ListView 【发布时间】:2021-07-14 23:07:12 【问题描述】:

我有一个 ListView 小部件,它基于数组呈现项目。我想更改特定项目 onTap 的背景颜色。

我制作了一个 GestureDetector,将项目包装在 ListView 中,然后 onTap 一个变量(我之前在全局范围内定义,名为 backgroundColor)更改它的值。但这会改变所有项目的背景颜色,我希望它只改变用户点击的特定项目的背景颜色。

有什么想法吗?

【问题讨论】:

分享您的代码,这样会更容易回答并直接指出问题的出处,从而更快地解决问题。 【参考方案1】:

像这样清除一个 int

Int isselect=-1; 

Then 
Ontap:=> setstate()
Isslected =index; 


Then you can how use that is selected as bool 

Like 

Is selected==index? Container(): sizebox(),

对不起,我编写代码的方式,我在移动设备上,这就是为什么...

希望它对你有用, 如是。标记并投票。

【讨论】:

你甚至可以用它来改变颜色......就像这样。 ....颜色:Isslected==index:colors.red:colors.black【参考方案2】:

尽管将代码与问题一起粘贴会很有帮助,但我认为“索引”可能是您的解决方案。将列表视图的索引作为参数传递给 onTap 并仅针对该索引修改 bgColor。

【讨论】:

以上是关于从 ListView 更改特定元素的主要内容,如果未能解决你的问题,请参考以下文章

方向/配置更改后如何维护 ListView 片段状态?

异步更改 ListView 中的特定项目

使用自定义适配器更改ListView中特定行中的ImageView

使用自定义适配器更改 ListView 中特定行中的 ImageView

如何在 ListView 中正确更改特定行的背景颜色? (安卓)

如果光标具有特定值,则更改 ListView 中的图像