Как установить requestFocus для TextField на всю ячейку ListView во флаттере - PullRequest
0 голосов
/ 14 марта 2019

Я занимаюсь разработкой приложения для флаттера с Listview, в котором каждая ячейка содержит Text и TextField внутри строки. Я хочу открыть клавиатуру на всю ячейку, нажмите , Но в настоящее время клавиатура открыта только когда мы нажимаем на область TextField.

Я попытался установить requestFocus на OnTap, но он применяется ко всем ячейкам. мне нужно, это работает только для записанной на пленку ячейки.

Вот код

new ListView.builder(
                  itemCount: displaySensorDataList.length,
                  itemBuilder: (context, i) {
                    return GestureDetector(
                      onTap: () => FocusScope.of(context).requestFocus(myFocusNode),
                      child: new Card(
                        child: Container(
                          height: 50.0,
                          margin: EdgeInsets.only(left: 20.0,right: 20.0,),
                          child: new Row(
                            mainAxisAlignment: MainAxisAlignment.spaceBetween,
                            children: <Widget>[
                              new Text(
                                displaySensorDataList[i].name,
                              ),
                              new Expanded(
                                flex: 3,
                                child: new TextField(
                                  keyboardType: TextInputType.number,
                                  autofocus: false,
                                ),
                              ),
                            ],
                          ),
                        ),
                      ),
                    );
                  })),
...