【发布时间】:2020-06-12 19:33:56
【问题描述】:
这个 Flutter 应用的问题(在 Android 上):
我在 TextField 中输入文本。我按“最近的应用程序”并返回此应用程序。文字不见了。
但是
- 旋转屏幕
- 或在“最近的应用程序”之前按 ENTER/RETURN
不会丢失文本。
这些 Flutter 示例应用显示了同样的问题
- https://api.flutter.dev/flutter/material/TextField-class.html#material.TextField.2
- https://github.com/iampawan/fluttercalculator
- https://github.com/mjohnsullivan/flutter-by-example/tree/master/03_text_field
为什么?在这种情况下我应该怎么做才能不丢失文本?
$ 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?
-
谢谢,我忘了说。我将它添加到问题陈述中。