我在 dart 中有以下函数来设置特定的布尔首选项值。
_switchPersistentNotifications() {
setState(() {
isPersistentNotificationEnabled = !isPersistentNotificationEnabled;
});
widget.preferences.setBool(
"isPersistentNotificationEnabled", isPersistentNotificationEnabled);
}
Run Code Online (Sandbox Code Playgroud)
此函数设置isPersistentNotificationEnabled偏好值。
现在在原生 android 端,我应该使用这个共享首选项值。这是我到目前为止所做的。
SharedPreferences preferences =
PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
// check if the state change notification is to be shown
if (preferences.getBoolean("flutter.isStateChangeNotificationEnabled", false)) {
showConnectionStateChangeNotification();
}
Run Code Online (Sandbox Code Playgroud)
而且 if 条件永远不会被评估为真。我还尝试使用下面的代码打印所有现有的首选项值。
Map<String, ?> allEntries = preferences.getAll();
for (Map.Entry<String, ?> entry : allEntries.entrySet()) {
Log.d("map values", entry.getKey() + ": " + entry.getValue().toString());
}
Run Code Online (Sandbox Code Playgroud)
它只显示 Android 创建的值(使用 java)。
非常感谢访问首选项值的任何帮助。谢谢你。
我正在颤振中创建一个基本的聊天应用程序。它涉及一个文本字段,用户可以在其中输入任何文本并单击发送按钮。
该应用程序适用于您在文本框中输入的任何字符串,但包含引号的字符串除外。尝试将该字符串添加到 sql 数据库时出现数据库异常,因为引号未转义。
做replaceAll("'", "\'").replaceAll('"', "\'")一个字符串可以作为我使用SQL查询双引号,但所有的双引号现在单引号。
谢谢您的帮助。
我已经尝试了Flutter TextField的许多配置,但无法弄清楚如何构建这个.
我正在寻找一个最初是单行的文本字段,它会在文本输入时自动扩展,然后在某些时候开始滚动自己.
这可以通过使用maxLines:null属性来部分实现.但是当输入大量文本时,文本字段中的文本本身就会溢出.
如果将maxLines设置为一个值,那么整个文本字段本身就会扩展到那些许多行,而不是以一行开头.
有没有办法限制文本字段的高度,就像许多聊天应用程序,如WhatsApp和电报.
谢谢.