【问题标题】:Using ReorderableListView to show a list of textfields which loose focus immediately after I tap on textfield使用 ReorderableListView 显示在我点击文本字段后立即失去焦点的文本字段列表
【发布时间】:2018-12-28 13:45:52
【问题描述】:

我是 Flutter 的新手,我编写了两个页面,页面 A 和页面 B。我使用 ReorderableListView 在小部件 B 中显示文本字段列表。当我从页面 A 导航到页面 B 后,文本字段立即失去焦点我点击文本字段。有人可以帮忙吗?

void main() => runApp(MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: TapClass(),
    ));

class TapClass extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: Center(
      child: FlatButton(
        child: Text('click me'),
        onPressed: () {
          Navigator.of(context)
              .push(MaterialPageRoute(builder: (context) => MyHomePage()));
        },
      ),
    ));
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key}) : super(key: key);

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: ReorderableListView(
      children: <Widget>[
        Row(
          key: ValueKey('key'),
          children: <Widget>[
            Expanded(
              child: TextField(
                decoration: InputDecoration(hintText: 'type in'),
              ),
            )
          ],
        )
      ],
      onReorder: (int oldIndex, int newIndex) {},
    ));
  }
}

【问题讨论】:

    标签: dart flutter


    【解决方案1】:

    因为您在 ReorderaleListView 中只有一个孩子。您应该有多个孩子,并为所有孩子分配不同的钥匙。希望这会对你有所帮助。

    【讨论】:

    • 谢谢,试过了,还是不行,用iphone模拟器运行这段代码flutter有些问题,android没问题
    • 不客气。好的,那么你应该在 Github 上提出问题。
    猜你喜欢
    • 2021-03-31
    • 1970-01-01
    • 2011-10-13
    • 1970-01-01
    • 2020-05-06
    • 1970-01-01
    • 2020-05-26
    • 2023-02-11
    • 1970-01-01
    相关资源
    最近更新 更多