質問編集履歴

6

TextFieldがTextFielになっていたため修正

2023/03/13 06:51

投稿

usakichi
usakichi

スコア2

test CHANGED
File without changes
test CHANGED
@@ -206,7 +206,7 @@
206
206
  //検索ボタン押下後の処理
207
207
  onPressed: (_isChangeInput)
208
208
  ? () => _searchKeyword()
209
- //メッセージ表示条件:TextFielに変更通知がある、TextFielに入力されていない
209
+ //メッセージ表示条件:TextFieldに変更通知がある、TextFieldに入力されていない
210
210
  : () => ((_textEditController.text
211
211
  .replaceAll(RegExp(r"\s+"), '')) == '')
212
212
  ? Fluttertoast.showToast(

5

記入場所の間違えの為、再記入

2023/03/13 06:30

投稿

usakichi
usakichi

スコア2

test CHANGED
File without changes
test CHANGED
@@ -197,3 +197,26 @@
197
197
 
198
198
  もし、他にもこんな方法があるという方がいらっしゃれば是非教えて頂けるとありがたいです。
199
199
  #####
200
+ ###### アドバイス適応後のコーディング
201
+ アドバイスを頂いた後に、色々試してみて「Fluttertoast」を以下のように適応してみたところ、今までの中で一番理想形に近づきました。
202
+ アドバイスありがとうございました。
203
+
204
+ ```ここに言語を入力
205
+ --- 省略 -----
206
+ //検索ボタン押下後の処理
207
+ onPressed: (_isChangeInput)
208
+ ? () => _searchKeyword()
209
+ //メッセージ表示条件:TextFielに変更通知がある、TextFielに入力されていない
210
+ : () => ((_textEditController.text
211
+ .replaceAll(RegExp(r"\s+"), '')) == '')
212
+ ? Fluttertoast.showToast(
213
+ msg: "キーワードが未入力です!!",
214
+ toastLength: Toast.LENGTH_SHORT,
215
+ backgroundColor: Colors.lightBlue,
216
+ textColor: Colors.white,
217
+ fontSize: 20.0)
218
+ : const SizedBox.shrink()),
219
+ --- 省略 -----
220
+ ```
221
+
222
+ #####

4

解答を記入する場所を間違えたため

2023/03/13 06:30

投稿

usakichi
usakichi

スコア2

test CHANGED
File without changes
test CHANGED
@@ -197,27 +197,3 @@
197
197
 
198
198
  もし、他にもこんな方法があるという方がいらっしゃれば是非教えて頂けるとありがたいです。
199
199
  #####
200
-
201
- ###### アドバイス適応後のコーディング
202
- アドバイスを頂いた後に、色々試してみて「Fluttertoast」を以下のように適応してみたところ、今までの中で一番理想形に近づきました。
203
- アドバイスありがとうございました。
204
-
205
- ```ここに言語を入力
206
- --- 省略 -----
207
- //検索ボタン押下後の処理
208
- onPressed: (_isChangeInput)
209
- ? () => _searchKeyword()
210
- //メッセージ表示条件:TextFielに変更通知がある、TextFielに入力されていない
211
- : () => ((_textEditController.text
212
- .replaceAll(RegExp(r"\s+"), '')) == '')
213
- ? Fluttertoast.showToast(
214
- msg: "キーワードが未入力です!!",
215
- toastLength: Toast.LENGTH_SHORT,
216
- backgroundColor: Colors.lightBlue,
217
- textColor: Colors.white,
218
- fontSize: 20.0)
219
- : const SizedBox.shrink()),
220
- --- 省略 -----
221
- ```
222
-
223
- #####

3

アドバイスを適応しての結果を記入

2023/03/13 06:28

投稿

usakichi
usakichi

スコア2

test CHANGED
File without changes
test CHANGED
@@ -197,3 +197,27 @@
197
197
 
198
198
  もし、他にもこんな方法があるという方がいらっしゃれば是非教えて頂けるとありがたいです。
199
199
  #####
200
+
201
+ ###### アドバイス適応後のコーディング
202
+ アドバイスを頂いた後に、色々試してみて「Fluttertoast」を以下のように適応してみたところ、今までの中で一番理想形に近づきました。
203
+ アドバイスありがとうございました。
204
+
205
+ ```ここに言語を入力
206
+ --- 省略 -----
207
+ //検索ボタン押下後の処理
208
+ onPressed: (_isChangeInput)
209
+ ? () => _searchKeyword()
210
+ //メッセージ表示条件:TextFielに変更通知がある、TextFielに入力されていない
211
+ : () => ((_textEditController.text
212
+ .replaceAll(RegExp(r"\s+"), '')) == '')
213
+ ? Fluttertoast.showToast(
214
+ msg: "キーワードが未入力です!!",
215
+ toastLength: Toast.LENGTH_SHORT,
216
+ backgroundColor: Colors.lightBlue,
217
+ textColor: Colors.white,
218
+ fontSize: 20.0)
219
+ : const SizedBox.shrink()),
220
+ --- 省略 -----
221
+ ```
222
+
223
+ #####

2

進捗があったので追記しました

2023/03/08 06:41

投稿

usakichi
usakichi

スコア2

test CHANGED
File without changes
test CHANGED
@@ -143,3 +143,57 @@
143
143
 
144
144
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2023-03-06/d9f43cb7-5557-4b62-917a-324bf8ab9226.png)
145
145
 
146
+ #### 進捗があったので追記します
147
+ ElevatedButtonでの分岐処理を一旦諦めて、以下のように対応してみたところメッセージ表示は出来るようになりました。
148
+ ただ、この方法が正しいかどうかはわかりません。
149
+
150
+ <メッセージ表示の条件>
151
+ ①検索ボタン押下時のフラグをセット
152
+ ②TextFieldの入力値が空(余分な余白を削除後の値)で①のフラグがtureの場合はメッセージ表示
153
+
154
+ ```ここに言語を入力
155
+ --- 省略 ---
156
+ //検索ボタン押下後の処理
157
+ onPressed: () {
158
+ if (_isChangeInput) {
159
+ _searchKeyword();
160
+ _isButtonClicked = true;
161
+ } else {
162
+ _isButtonClicked = false;
163
+ }
164
+ --- 省略 ---
165
+ //メッセージ表示条件:TextFieldに入力値がない&検索ボタン押下された
166
+ (_textEditController.text.replaceAll(RegExp(r"\s+"), '') == '' &&
167
+ _isButtonClicked == true)
168
+
169
+ ? Center(
170
+ child: Container(
171
+ height: 40.0,
172
+ width: 300.0,
173
+ color: Colors.limeAccent,
174
+ child: const Text("キーワードが未入力です!!",
175
+ style: TextStyle(
176
+ fontSize: 25.0,
177
+ fontFamily: "ZenGoR",
178
+ fontWeight: FontWeight.bold,
179
+ color: Colors.red,
180
+ shadows: [
181
+ Shadow(
182
+ color: Colors.limeAccent,
183
+ blurRadius: 50.0
184
+ )
185
+ ]
186
+ ),
187
+ textAlign: TextAlign.center),
188
+ ),
189
+ )
190
+ //何もしない
191
+ : const SizedBox.shrink(),
192
+ ```
193
+
194
+ 以下の場合は、まだメッセージの表示が実現できておりませんので、継続して考えています。
195
+ 初めて検索画面を起動した時に、TextFieldに入力せずに検索ボタンを押下した時。
196
+ (「初めて検索画面を起動した」という状態を判別していないため)
197
+
198
+ もし、他にもこんな方法があるという方がいらっしゃれば是非教えて頂けるとありがたいです。
199
+ #####

1

文章に誤りがあったため修正

2023/03/06 06:07

投稿

usakichi
usakichi

スコア2

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,6 @@
12
12
  <キーワードを入力せずにボタンを押下した場合に試したこと>
13
13
  ●「キーワードが未入力です」のメッセージを表示するために
14
14
  ・三項演算子のfalse「:」の後に処理を記載しても表示されない。
15
- ※(「三項演算子を使ってうまくいかないこと」を参照して下さい。)
16
15
  ・「検索」ボタン押下したかどうかのフラグを持たせ、押下した場合の処理を「//検索ボタン押下後の処理」の下に三項演算子を用いてコーディングしたが表示されない。(そもそもこういう書き方が間違っているかもしれません)
17
16
  ●判断材料
18
17
  ・TextFormFieldが入力されていないかテキストコントローラーの値で判断