错误代码 嗨,我是 flutter 新手,有一个关于 dropdownbutton 的问题,关于对多个 dropdownbutton 使用相同的值。
根据我对错误的理解,这是由于在同一活动中为 2 个或更多下拉按钮使用了相同的列表。
我怎样才能解决这个错误,但仍然能够为 2 个或更多下拉按钮重用列表?
String _value1;
String _value2;
final List<String> nameList = <String>[
"Name1",
"Name2",
"Name3",
"Name4",
"Name5",
"Name6",
"Name7",
"Name8"
];
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
elevation: 2.0,
title: Text('Hello'),
),
body: ListView(
children: <Widget>[
Row(
children: <Widget>[
Text('Name: '),
Center(
child: DropdownButton(
value: _value1,
onChanged: (value) {
setState(() {
_value1 = value;
});
},
items: nameList.map(
(item) {
return DropdownMenuItem(
value: item,
child: new …Run Code Online (Sandbox Code Playgroud) 我正在尝试从数据库中删除我的数据,如果成功的话,请继续导航到我的主页。
下面是我的代码:
StatelessWidget 由 deleteFromDatabase 方法组成,该方法传递了一个Id(String) 和一个 a context:
Consumer<SettingsProvider>(
builder: (context, settingsProvider, child) {
final exerciseSettings = settingsProvider.findById(id);
if (exerciseSettings == null) {
return Center(
child: CircularProgressIndicator(),
);
}
return PreviewExerciseItem(
exerciseSettings: exerciseSettings,
id: id,
navigateToEdit: () =>
_navigateToEditPage(exerciseSettings, context),
deleteFromDatabase: () => _deleteFromDatabase(id, context),
navigateToCountDown: () =>
navigateToCountDownPage(exerciseSettings, context),
);
},
),
Run Code Online (Sandbox Code Playgroud)
从 StatelessWidget 调用 _deleteFromDatabase 方法并显示一个 AlertDialog 以确认删除:
void _deleteFromDatabase(String id, context) async {
await showDialog(
context: context,
builder: (context) => new AlertDialog(
title: …Run Code Online (Sandbox Code Playgroud) 抱歉,我是 flutter 的新手,目前在为我的应用实现通知时遇到了困难。我正在使用flutter_local_notification插件,因为我听说它可用于提醒目的以及将其用于离线应用程序。
我目前面临将我的 Note(模型)对象传递给我的onSelectNotification函数的问题
我的目标:为我的 Note 应用创建一个提醒图标,这样当通知被 flutter_local_notification 插件触发时。点击通知将允许我继续我的EditNotePage活动,并在其上显示相应的 Note 对象参数(标题、描述)
如何修改onSelectNotification以便我可以将我的 Note 对象传递给它。
非常感谢所有帮助!
抱歉没有提供太多代码。
FlutterLocalNotificationsPlugin
flutterLocalNotificationsPlugin =
new FlutterLocalNotificationsPlugin();
var initializationSettingsAndroid =
new AndroidInitializationSettings('app_icon');
var initializationSettingsIOS = IOSInitializationSettings(
onDidReceiveLocalNotification: onDidReceiveLocalNotification);
var initializationSettings = InitializationSettings(
initializationSettingsAndroid, initializationSettingsIOS);
flutterLocalNotificationsPlugin.initialize(initializationSettings,
onSelectNotification: onSelectNotification);
Run Code Online (Sandbox Code Playgroud)