我在做教育类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条件显示墨水瓶或容器(不含手势处理属性)。