前提・実現したいこと
FlutterにてdismissibleでCardウィジェットを削除したいのですが、
削除どころかスワイプすらできなくて困っています。
原因わかる方いたらごご教授ください。
最初はスワイプも削除できていたのですが、他の機能の実装が終わってから急にスワイプができなくなりました。
その実装した機能はflutter_native_splashでスプラッシュ画面の実装で、その際にDartのバージョンを2.15.1にアップデートしました。
あとは使ってないimportを削除したくらいです。
該当のソースコード
Dart Flutter
import 'package:flutter/material.dart';
import 'package:provide_todo_app/todo_model.dart';
import 'package:provider/provider.dart';
class TodoHome extends StatelessWidget {
const TodoHome({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.black12,
appBar: AppBar(
centerTitle: true,
title: const Text('今日のタスク'),
),
body: Consumer<TodoModel>(
builder: (BuildContext context, TodoModel value, Widget) {
value.setTodoBox();
List todos = value.getEventForDay(DateTime.now());
return
todos.isEmpty ?
const Center(child: Text('今日の予定はありません', style: TextStyle(fontSize: 20),)):
ListView.builder(
shrinkWrap: true,
itemBuilder: (BuildContext context, int index) {
return Dismissible(
key: UniqueKey(),
onDismissed: (direction) {
value.todoDelete(index);
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
duration: const Duration(seconds: 1),
content: Row(
children: const [
Icon(Icons.check,color: Colors.white),
Text('削除しました'),
],
),
backgroundColor: Colors.red,
),
);
},
child: Card(
child: ListTile(
leading: Text(todos[index].importance,
style: TextStyle(
fontSize: 30,
color: value.selectedImportanceCharColor(
todos[index].importance),
)),
title: Text(todos[index].title,
style: const TextStyle(
fontSize: 30
)),
))
);
},
itemCount: todos.length,
);
}),
);
}
}
試したこと
他のプロジェクトではdismissibleが動作することは確認済み
補足情報(FW/ツールのバージョンなど)
Dart version 2.15.1
写真の矢印の_Widgetの部分が動く方は[dismissible]で動作しない方は[null]
となっています。
あなたの回答
tips
プレビュー