如何禁用单击列表视图中的特定项目

Posted

技术标签:

【中文标题】如何禁用单击列表视图中的特定项目【英文标题】:how do i disable click on particular item in list view 【发布时间】:2021-10-06 12:35:50 【问题描述】:

我想禁止点击列表视图中的某些项目, 从 api 我可以得到一些项目列表

喜欢

[
  
    "date": "1",
    "click": "1"
  ,
  
    "date": "2",
    "click": "0"
  ,
  
    "date": "3",
    "click": "1"
  ,
  
    "date": "4",
    "click": "0"
  ,
  
    "date": "5",
    "click": "2"
  
]

如果click = 0,我想用颤振禁用onclick

【问题讨论】:

【参考方案1】:

为列表视图项定义您自己的子小部件,如下所示:


  Widget myWidget (String date, String isEnable)
    return RaisedButton(onPressed: isEnable=="1"?YourFunction:()=>, child: Text(date),);
  

ListView.builder中的用法如下:

return ListView.builder(itemBuilder: (ctx, idx)
      return myWidget(yourList[idx]["date"], yourList[idx]["click"]);
    , itemCount: yourList.length,)

yourList 是您问题中的给定列表。此外,您可以使用任何形式的小部件来代替 RaisedButton,这只是一个示例!

【讨论】:

以上是关于如何禁用单击列表视图中的特定项目的主要内容,如果未能解决你的问题,请参考以下文章

单击列表视图项时检索的值

如何使用特定项目删除按钮删除列表视图中的项目?

如何在android中的活动开始时禁用按钮的单击事件检查

点击 Android/Java 列表视图项时,如何禁用单击声音?

如何禁用列表视图中的项目?

禁用列表视图中的元素选择?