我正在创建一个小的Flutter程序来了解它,但无法使用ListView Builder显示“Task”对象(存在于List中)的“description”属性。我已经尝试了它与普通文本,它显示它如何我想要它,这导致我相信布局是正确的;只是访问'Task.description'我不能做,因为它返回'Instance member 'description'can 't be accessed using static access.'只是为了澄清,包含任务的列表和列表视图生成器在不同的文件中,尽管我不明白为什么这会是一个问题。
下面是包含Task对象示例的List(还有3个):
final List<Task> taskList = [
Task(
title: 'Clean Spillage On Aisle 4',
description:
'Clear up using mop & cleaning solution found in store cupboard B',
creator: 'John Smith',
status: CompletionStatus.notStarted,
completeBy: "08:30 am",
),
];
下面是ListView Builder的主要方法:
import 'package:task_management/data/tasks.dart';
class TaskCard extends StatelessWidget {
static String desc = Task.description;
final Task task;
const TaskCard(this.task, {Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Container(
padding: const EdgeInsets.fromLTRB(8, 8, 8, 8),
height: 290,
width: double.maxFinite,
child: Card(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(15.0),
),
shadowColor: Colors.black,
elevation: 15,
child: ClipPath(
clipper: ShapeBorderClipper(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(30),
),
),
//Start of relevant code block
child: ListView.builder(
itemCount: taskList.length,
itemBuilder: ((context, index) {
return ListTile(
leading: CircleAvatar(
child: Text(Task.description),
),
title: Text(Task.description),
);
}),
),
//End of relevant code block
),
),
),
),
);
}
}
1条答案
按热度按时间bvn4nwqk1#
我相信我明白你想表达的意思。您希望提取存储在列表中的对象的单个值并将其显示在列表视图生成器中。我为你写了一个最小的代码。只需将其复制并粘贴到
main.dart
文件中并尝试测试即可。承认我&随时在评论区问任何问题。原始程式码: