web-dev-qa-db-ja.com

TextFieldまたはTextFormFieldを選択するとFlutterアプリがフリーズする

TextField(またはTextFormField)を選択した場合を除いて、すべての点で適切に機能しているFlutterアプリがあります。 TextFieldを選択すると、TextFieldでカーソルが点滅しますが、何も入力できず、floatingActionButtonやAppBarの戻るボタンなど、他のすべてのボタンが機能しなくなります。基本的に、アプリはフリーズしているように見えますが、エラーメッセージは表示されません。

FocusNodesとTextEditingControllersを含む2つの異なるページで問題を修正しようと何度も試みた後、FlutterのWebサイトから直接コードを使用して新しいページを組み込むことにより、最初のページに戻りましたが、このベアボーンコードのTextFieldは依然としてアプリをロックします。

import 'package:flutter/material.Dart';

class EventDetailForm extends StatefulWidget {
  static const String routeName = "/events/event-detail-form";
  @override
  _EventDetailFormState createState() => _EventDetailFormState();
}

class _EventDetailFormState extends State<EventDetailForm> {
  final myController = TextEditingController();
  @override
  void dispose() {
    myController.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('Event Detail')),
      body: Padding(
          padding: const EdgeInsets.all(16),
          child: TextField(
            controller: myController,
          )),
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          return showDialog(
              context: context,
              builder: (context) {
                return AlertDialog(
                  content: Text(myController.text),
                );
              });
        },
        child: Icon(Icons.text_fields),
      ),
    );
  }
}

残念ながら、エラーメッセージは表示されません。 TextFieldでカーソルが点滅するだけで、他のすべての機能が失われ、終了して再起動する必要があります。他に何を検討すべきかわかりません。誰がこれを引き起こしているのかについて何か考えがありますか?

5
xdevco

同じバグがありましたが、Flutterのベータチャネルに切り替えることで解決しました。あなたの端末で

flutter channel beta
flutter upgrade

ここで読むことができるチャンネルについて https://github.com/flutter/flutter/wiki/Flutter-build-release-channels

1
awaik

これは多分遅くなりますが、それは今日ちょうど私にも起こりました。また、channelbetaに変更しましたが、残念ながらうまくいきませんでした。どうやら私にとってうまくいったのは、チャネルをstableに戻した後でシミュレータを再起動したときです。

1
Marlon Mestica