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

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,这只是一个示例!

【讨论】:

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