[解決済み] Flutterで次のTextFieldにフォーカスを移すには?
質問
Flutterの初心者です。
以下のウィジェットを使って、複数のテキスト入力を持つフォームを構築しています。フォーム、TextFormFieldです。表示されるキーボードには "next" (次のフィールドにフォーカスを移すはず) フィールドアクションが表示されず、代わりに "done" アクション (これはキーボードを隠す) が表示されます。
公式ドキュメントでヒントを探しましたが、直接実行できるものは見つかりませんでした。 しかし、FocusNode() にたどり着きました。 料理本 , API ドキュメント ). ボタンなどの操作でフォーカスを移動させる機構を備えているのですが、それを キーボード .
どのように解決するのですか?
実現する方法が見つかりました。
-
Done の代わりに Next アイコンを表示する - 設定
textInputAction
パラメータをTextInputAction.next
-
使用方法
onFieldSubmitted
コールバックを使用して、次のフィールドのフォーカスノードを要求します。class FormWidget extends StatelessWidget{ final focus = FocusNode(); @override Widget build(BuildContext context) { return Form( child: SingleChildScrollView( padding: EdgeInsets.symmetric(horizontal: 16.0), child: Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: <Widget>[ TextFormField( textInputAction: TextInputAction.next, autofocus: true, decoration: InputDecoration(labelText: "Input 1"), onFieldSubmitted: (v){ FocusScope.of(context).requestFocus(focus); }, ), TextFormField( focusNode: focus, decoration: InputDecoration(labelText: "Input 2"), ), ], ), ), ); } }
編集:ドキュメント(flutter.io/docs/cookbook/forms/focus)にあるように、 - FocusNodeのライフサイクルを管理することも必要です。そのため、init()メソッドでFocusNodeをinitし、親Widgetのdispose()でdisposeします。- AntonDerevyanko
更新: 同じことは
FocusNode
と
FocusScopeNode
を呼び出すだけで
FocusScope.of(context).nextFocus()
を見てください。
CopsOnRoadソリューション
をご覧ください。より詳細な情報は
doc
.
関連
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] Flutterのデバッグバナーを削除するにはどうしたらいいですか?
-
[解決済み] Flutterで16進数の色文字列を使用するにはどうすればよいですか?
-
[解決済み】Flutterでアプリケーションランチャーのアイコンを変更するには?
-
[解決済み] [Solved] Flutter: How to make TextField with HintText but no Underline?
-
[解決済み] TextFieldの高さと幅を変更するには?
-
[解決済み] Flutterを使ってローカルストレージに保存するには?
-
[解決済み] Navigatorを含まないコンテキストで要求されたNavigator操作
-
[解決済み] Flutter。画面の向きをオンデマンドで設定・ロックする方法
-
[解決済み] CircularProgressIndicatorにサイズを設定するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン