小编Jay*_*den的帖子

Flutter RawKeyboardListener 听两次?

我想要实现的是在查看此小部件时,RawKeyboardListenerTextField未选择/聚焦时立即开始收听。它运行HandleKey function来处理我想用keyCode.

我遇到的问题是第一次运行应用程序时,handleKey function似乎运行了两次。所以在下面的例子中,why does this run twice $_keyCode当我只输入 1 个键时,它会打印TWICE。我认为它会听 keyUp 和 keyDown。我想要的结果是它只运行一次......

但是,当我选择 TextField 并使用模拟器键盘定期提交时,代码也能正常工作。

我很难理解为什么它在与 TextField 交互后才出现问题。我觉得它需要一个Futureawait某个地方?但我不知道。

请帮忙。

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'dart:async';

class KeyboardListener extends StatefulWidget {

    KeyboardListener();

    @override
    _RawKeyboardListenerState createState() => new _RawKeyboardListenerState();
}

class _RawKeyboardListenerState extends State<KeyboardListener> {

    TextEditingController _controller = new TextEditingController();
    FocusNode _textNode = new FocusNode();


    @override
        initState() {
        super.initState();
    }
    
    //Handle when submitting
    void …
Run Code Online (Sandbox Code Playgroud)

android dart flutter

13
推荐指数
3
解决办法
1万
查看次数

Flutter setState到另一个类?

我有一个根类RootPage,StatefulWidget它始终在视图中.我想改变bodyRootPage是通过控制RootPage's currentPage Widget从不同的类,如我的FeedPage类和其他类,我做什么呢?

示例代码

import 'package:flutter/material.dart';

class RootPage extends StatefulWidget {
  @override
  _RootPageState createState() => new _RootPageState();
}
class _RootPageState extends State<RootPage> {
  FeedPage feedPage;

  Widget currentPage;

  @override
  void initState() {
    super.initState();
    feedPage = FeedPage();

    currentPage = feedPage;
  }

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      //Current page to be changed from other classes too?
      body: currentPage
    );
  }
}



class FeedPage extends StatefulWidget {
  @override
  _feedPageState …
Run Code Online (Sandbox Code Playgroud)

setstate dart flutter

9
推荐指数
3
解决办法
9919
查看次数

标签 统计

dart ×2

flutter ×2

android ×1

setstate ×1