【发布时间】:2022-01-21 15:10:22
【问题描述】:
一旦用户点击发送按钮,我需要。他添加的文本输入字段将被添加到要在 ListView 中显示的列表中。但 listView 不会呈现列表的新元素。当用户点击发送按钮时不会发生任何变化!
代码是:
Widget build(BuildContext context) {
List<MessageModel> message = [
MessageModel(
isMine: false,
messageBody: "receiver_message".tr,
time: "message_time".tr,
),
MessageModel(
isMine: true,
messageBody: "message_sender_body".tr,
time: "message_time".tr,
),
];
return Scaffold(
body: CustomScrollView(
slivers: [
SliverFillRemaining(
child: ListView.builder(
itemCount: message.length,
// physics: const BouncingScrollPhysics(),
itemBuilder: (context, index) => MessageBody(
isMine: message[index].isMine,
messageBody: message[index].messageBody,
time: message[index].time,
),
),
),
],
),
bottomNavigationBar:
TextField(
controller: message_controller,
onChanged: (value) {},
suffixIcon: IconButton(
onPressed: () => setState(() {
var x=message_controller.text;
print("x $x");
message.add(
MessageModel(
isMine: true,
time: "message_time".tr,
messageBody: message_controller.text,
),
);
}),
icon: const Icon(
Icons.arrow_forward_rounded,
),
),
),
),
);
}
}
【问题讨论】: