当前位置: 首页 > 知识库问答 >
问题:

在Flutter中将焦点从一个文本字段切换到下一个文本字段

饶志
2023-03-14

我有两个TextFormField小部件。一旦用户完成了第一个文本字段,我将关注下一个textfield。在Flutter里有办法做到这一点吗?目前,完成按钮只关闭键盘。我猜测focusNode类可能是解决这个问题的答案,但不确定它是如何工作的,有人有focusNode类的好例子吗?提前谢了。

共有1个答案

茅曾琪
2023-03-14

是的,FocusNode和TextFormField中的OnFieldSubmitted可能是可行的方法。

focusscope.of(context).requestfocus(focusNode);

下面是一个可能有所帮助的例子:

    FocusNode textSecondFocusNode = new FocusNode();

    TextFormField textFirst = new TextFormField(
      onFieldSubmitted: (String value) {
        FocusScope.of(context).requestFocus(textSecondFocusNode);
      },
    );

    TextFormField textSecond = new TextFormField(
      focusNode: textSecondFocusNode,
    );

    // render textFirst and textSecond where you want

您可能还希望从按钮而不是onFieldSubmitted触发focusscope.of(),但希望上面的示例为您提供了足够的上下文来为您的用例构造适当的解决方案

 类似资料:
  • 问题内容: 我有一个用netbeans开发的应用程序,我想在显示面板时将焦点设置为一定。我已经阅读了许多文章,并尝试了各种方法,但没有奏效。主要问题之一是在哪里放置所需的代码,我认为在我的情况下是 有一些指示使用Window Listener的帖子,但是随着netbeans生成GUI,我无法看到如何实现接口,因为我无法编辑创建jPANEL等的代码。整个过程非常令人沮丧,我真的没有相信这应该很困难。

  • 我用JFrame创建了一个窗口,在我的JPanel上添加了3个组件:2个JTextFields(“field1”和“field2”),在它们之间添加了一个JButton(“开关”)。我的目标是在单击JButton时将field1的值切换到field2,反之亦然。我认为我在JButton中添加的这个ActionListener可以实现我的目标: 但是,它会将field2的值更改为field1的值,而

  • 问题内容: 我使用四个文本字段输入OTP,一次只能输入一个数字。输入数字后,我需要将光标自动移动到下一个文本字段。 问题答案: 设置textField委托并添加目标: 现在,当文本更改时,更改textField 最后,当用户开始编辑清除textField时

  • 问题内容: 我是Python的新手,正在尝试使用Tkinter创建一个简单的GUI。 因此,在许多用户界面中,单击选项卡按钮通常会将焦点从一个Text小部件更改为另一个。每当我在“文本”小部件中时,选项卡只会缩进文本光标。 有人知道这是否可配置吗? 问题答案: 使用Tkinter可以很容易地做到这一点。 要使此工作生效,必须完成几件事。首先,您需要确保标准行为 不会 发生。也就是说,您不希望标签页

  • 如果我的问题不是很具体,下面是我想做的。我有一个计算器,它有两个JTextField,一个JLabel(“Answer=”),一个JTextField作为答案。 我有一个JButton数组(0到9),允许用户点击它们,将数字添加到JTextField中,光标在其中处于活动状态。。。这就是问题所在。我只能让两个文本字段中的一个向它们添加数字,或者两者都向彼此添加相同的数字。 例如,如果我点击一个按钮

  • 我有一个文本字段,我只接受键盘上的数字,但现在我必须更改它,因为它是“价格文本字段”,我还需要接受一个点”。“对于任何价格。 我怎样才能改变这个以得到我需要的?