質問編集履歴
5
コードの冗長部分の削除
title
CHANGED
File without changes
|
body
CHANGED
@@ -88,18 +88,13 @@
|
|
88
88
|
|
89
89
|
```ChangingValue
|
90
90
|
class QuestionDetailList extends StatefulWidget {
|
91
|
-
final String questionId;
|
92
|
-
QuestionDetailList(this.questionId);
|
93
91
|
@override
|
94
92
|
_QuestionDetailListState createState() => _QuestionDetailListState();
|
95
93
|
}
|
96
94
|
|
97
95
|
class _QuestionDetailListState extends State<QuestionDetailList> {
|
98
|
-
var questionId;
|
99
|
-
|
100
96
|
@override
|
101
97
|
Widget build(BuildContext context) {
|
102
|
-
final _size = MediaQuery.of(context).size;
|
103
98
|
Provider.of<AppBarState>(context, listen: false).setTitle("Changed Title");
|
104
99
|
return Container();
|
105
100
|
}
|
4
説明文の明瞭化
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,11 +1,19 @@
|
|
1
|
-
|
1
|
+
# 実現したいこと
|
2
2
|
|
3
|
-
|
3
|
+
AppBarのタイトルやボタンを`String`型や`VoidCallback`として`Provider`に保持し、下位のWidgetツリーから変更できるようにしたい。
|
4
4
|
|
5
|
-
|
5
|
+
# 試したこと
|
6
6
|
|
7
|
-
クラス
|
7
|
+
自作の`ChangeNortifier`を継承した`AppBarState`クラスを`ChangeNotifierProvider`でcreateして`AppBarState`内の値をWidgetで使用しています。
|
8
8
|
|
9
|
+
さらに、`AppBarState`内で`setTitle`メソッドを定義していて、メソッド実行時、`title`の値を変更して`notifyListners()`で通知するようにしています。
|
10
|
+
|
11
|
+
ですが、`setTitle`メソッド実行時にUIが更新されません。
|
12
|
+
|
13
|
+
|
14
|
+
`setTitle`が呼び出されたあと、HotReloadすると値が変更されます。
|
15
|
+
|
16
|
+
|
9
17
|
`setTitle`が呼び出された時点で変更を反映させるためにはどうしたらいいのでしょうか。
|
10
18
|
|
11
19
|
コードを全て載せると長くなってしまうので、関連する箇所のみコードを載せておきます。
|
3
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
ChangeNotifierProviderでnotifyListeners
|
1
|
+
ChangeNotifierProviderでnotifyListenersで通知した時にUIが更新されない【Flutter】
|
body
CHANGED
File without changes
|
2
タイトルの変更
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
ChangeNotifierProviderでnotifyListeners()した時にUIが更新されない
|
1
|
+
ChangeNotifierProviderでnotifyListeners()した時にUIが更新されない【Flutter】
|
body
CHANGED
File without changes
|
1
説明の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,8 +4,10 @@
|
|
4
4
|
|
5
5
|
ですが、通知しているのにもかかわらず、UIが更新されません。
|
6
6
|
|
7
|
-
|
7
|
+
クラス内の`setTitle`が呼び出されたあと、HotReloadすると値が変更されます。
|
8
8
|
|
9
|
+
`setTitle`が呼び出された時点で変更を反映させるためにはどうしたらいいのでしょうか。
|
10
|
+
|
9
11
|
コードを全て載せると長くなってしまうので、関連する箇所のみコードを載せておきます。
|
10
12
|
|
11
13
|
気になるところでもいいので何か分かる方がいましたら、お力添えしていただけるとありがたいです。
|