TextField останавливает все приложение после его выбора - PullRequest
0 голосов
/ 29 сентября 2019

Каждый раз, когда я выбираю текстовое поле, все приложение вылетает. Единственная ошибка произошла о "не здоровом интернет-соединении". Btw. связь довольно хорошая. У вас есть идеи, в чем может быть проблема? Цель TextFields должна состоять в том, чтобы добавить данные на сервер Firebase.

class _GridWidgetState extends State<GridWidget> {
  // @override
  // void initState() {
  //   taskTitleInputController = new TextEditingController();
  //   taskCitizensInputController = new TextEditingController();
  //   super.initState();
  // }

  final db = Firestore.instance;

  var counterText = 0;
  // TextEditingController taskCitizensInputController;
  // TextEditingController taskTitleInputController;

  void addCounter() {
    setState(() {
      counterText++;
    });
  }

  void removeCounter() {
    setState(() {
      counterText--;
    });
  }

  Widget _buildListItem(BuildContext context, DocumentSnapshot document) {
    return Column(
      children: <Widget>[
        ListTile(
          title: Row(
            children: <Widget>[
              Expanded(
                child: Text(
                  document["state"],
                ),
              ),
              Container(
                padding: EdgeInsets.all(10),
                child: Text(
                  document["citizens"].toString(),
                ),
              ),
              IconButton(
                icon: Icon(
                  Icons.delete_forever, 
                  color: 
                  Colors.pink,
                ),
                onPressed: () async {
                   await db
                     .collection("InputData")
                     .document(document.documentID) 
                     .delete();
                },
              )
            ],
          ),
        ),
      ],
    );
  }

  @override
  Widget build(BuildContext context) {
    return Column(
      mainAxisAlignment: MainAxisAlignment.center,
      crossAxisAlignment: CrossAxisAlignment.center,
      children: <Widget>[
        Container(
            padding: EdgeInsets.all(20),
            child: Text(
              counterText.toString(),
              style: TextStyle(fontSize: 20),
            )),
        Container(
          color: Colors.grey,
          height: 150,
          child: StreamBuilder(
            stream: db.collection("InputData").snapshots(),
            builder: (ctx, snapshot) {
              if (!snapshot.hasData) {
                return CircularProgressIndicator();
              } else {
                return ListView.builder(
                  shrinkWrap: true,
                  itemExtent: 80.0,
                  itemCount: snapshot.data.documents.length,
                  itemBuilder: (ctx, index) {
                    return _buildListItem(ctx, snapshot.data.documents[index]);
                  },
                );
              }
            },
          ),
        ),
        Container(
          padding: EdgeInsets.all(20),
          child: Column(
            children: <Widget>[
              TextField(
                autofocus: false,
              ),
              TextField(
                autofocus: false,
              ),
            ],
          ),
        ),
      ],
    );
  }
}

Проблема должна возникать при подключении к TextField, потому что, например, IconButton прекрасно работает. Код здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...