Flutter:我可以在ListView生成器中启用/禁用InkWell吗?



我在做教育类app(类似于udemy app)在讲座列表界面,我使用Inkwell来显示讲座数据卡片,onTap(当用户点击卡片时)会转到视频播放器页面

讲座列表页面图片HERE

当讲座列表屏幕加载时:首先,我有函数来检查与http视图的数量。每节课POST如果演讲的观点小于2的观点我想做讲座卡可点击(用户可以查看一次讲座)

但如果用户的视图数等于2我想禁用讲座,以防止用户创建另一个视图

我想使用if语句检查数量的观点然后让墨水池onTap属性,但它不工作

我需要帮助,我该如何处理这种情况

=======================视图计数函数

checkViewsCount() async {
var XX = await checkLessonViews(lesson.id.toString(), lesson.lessonType);
if(int.parse(XX) >= 2){
//////////////////Here want to make lecture card disabled
} else {
//////////////////Here want to make lecture card enabled
}
}

============================这是InkWell代码

return InkWell(
onTap: () {
setState(() {
_activeLesson = lesson;
});
lessonAction(lesson);
},
child: Column(
children: <Widget>[
Container(
padding: EdgeInsets.symmetric(
vertical: 10, horizontal: 30),
width: double.infinity,
child: Row(
children: <Widget>[
//////////////////////// Lesson No.
Expanded(
flex: 2,
child: Customtext(
text: lessonCount.toString(),
fontSize: 16
)),
//////////////////////// Lesson title
Expanded(
flex: 8,
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
Customtext(
text: lesson.title,
fontSize: 14,
colors: kTextColor,
fontWeight:
FontWeight.bold,
),
getLessonSubtitle(lesson),
],
)),
],
),
),
Divider(),
],
),
);

Thanks in advance

var canAddLecture = true;
if(int.parse(XX) >= 2){
canAddLecture = false;
} else {
canAddLecture = true;
}

onTap: () {
if(canAddLecture == false) return;
setState(() {
_activeLesson = lesson;
});
lessonAction(lesson);
}

在flutter中不能禁用墨水瓶,根据用户拥有的视图数,使用if条件显示墨水瓶或容器(不含手势处理属性)。

相关内容

  • 没有找到相关文章

最新更新