【问题标题】:Flutter on Android - TextField loses text after return from 'Recent Apps'Android 上的 Flutter - 从“最近的应用程序”返回后,TextField 会丢失文本
【发布时间】:2020-06-12 19:33:56
【问题描述】:

这个 Flutter 应用的问题(在 Android 上):

我在 TextField 中输入文本。我按“最近的应用程序”并返回此应用程序。文字不见了。

但是

  • 旋转屏幕
  • 或在“最近的应用程序”之前按 ENTER/RETURN

不会丢失文本。

这些 Flutter 示例应用显示了同样的问题

为什么?在这种情况下我应该怎么做才能不丢失文本?

$ flutter --version
Flutter 1.12.13+hotfix.8 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 0b8abb4724 (3 weeks ago) • 2020-02-11 11:44:36 -0800
Engine • revision e1e6ced81d
Tools • Dart 2.7.0
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {

  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text("TextField"),
        ),
        body: Center(child: TextField()),
        floatingActionButton: FloatingActionButton(
          child: Icon(Icons.star),
          onPressed: () => {},
        ),
      ),
    );
  }
}

【问题讨论】:

  • 可能你必须使用 SharedPreferences 来保存文本输入
  • 谢谢。你的意思是 android.content.SharedPreferences ?所以即使是这样一个简单的 Flutter 应用程序也需要特定于平台的代码?真的很失望:-(
  • 你用的是哪个版本的flutter?
  • 谢谢,我忘了说。我将它添加到问题陈述中。

标签: android flutter textfield


【解决方案1】:

你需要做的

textField.setSaveEnabled(false)

这是android的一个愚蠢的错误

【讨论】:

  • 感谢@LenaBru,但这是 Android View 上的一种方法,而不是 Flutter TextField。正确的 ?那么我该如何使用呢?
【解决方案2】:

Here 解决了这个问题。谢谢spiritinlife

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-03
    • 1970-01-01
    • 2011-09-14
    • 2011-03-01
    • 2011-04-02
    • 1970-01-01
    • 1970-01-01
    • 2018-03-12
    相关资源
    最近更新 更多