Flutter(Dart)学習記録
TextField(
// テキスト入力により、状態変更を検知する
onChanged: (String value) {
setState(() {
_text = value;
});
},
),
これはどういう意味なのだろう。stateが変更されたことを検知するのはわかるけど、これってアロー関数に出来るんじゃないのか?
onChanged : (String (value) => {
だと何がだめなのだろう。アロー関数がよく分からん。
あと、setStateの(() {...}) もよくわからん。なぜそこに無名関数がいるのだろうか。
statefullwidgetクラスの特徴は下記の通り
Widgetにstateを継承させて拡張している
StatefulWidgetはbuildメソッドを持たない
createStateメソッドを持ち、これがStateクラスを返す
stateが変化したときに再描画を指示するメソッドが存在
StatefulWidget自体はstateクラスを返すようになっているだけのシンプル構造
複雑な処理等はStateクラスで持つため、ここのコードが長くなる
とある
まめちしき
メンバ変数のアクセス制御
rubyのようにpublicやprivateを置いてアクセス制御するのではなく、Dartでは、_を用いることで、private変数として扱い、アクセス制御をします
これもよく使うはず
削除機能や更新機能ってあるけど、つまり、データ自体の削除と、データの編集ってことなんですかね。
これらへのアクセスってどうするんだろう
削除と更新をみつけた
onPressed: () {
setState(() {
todoList.removeAt(index);
});
},
削除がこれだけで出来るらしい。なんだこれ。
removeAt(index)で対応するidを消しているのだろうけど。。。
remove at /last/clear についての記事
更新するには、ListViewに渡されたデータをindexから受け取ってきて、ToDoUpdatePageにわたす必要があるのだが、
どうやってこのStateを渡せばよいのだろうか。
body: ListView.builder(
itemCount: todoList.length,
itemBuilder: (context, index) {
return Card(
child: ListTile(
title: Text(todoList[index]),
onTap: () async {
final updateListText = await Navigator.of(context)
.push(MaterialPageRoute(builder: (context) {
return ToDoUpdatePage();
}));
},
),
);
このあたりの記事から回答を求めようとするも得られず。
Stateの理解を深める必要がある
アプリ開発にあたってはこのサイトも参照するべき
Flutter のデータベースせっけい ?