在我的用例中,我在特定页面中有多个布局。例如,在一个页面中,我有布局(比如说布局1),我使用文本字段列表从用户那里获取输入数据,然后在同一页面中,我在底部有另一个布局(比如说布局2)其中表格小部件用于逐行列出我们从用户收到的数据。同样,我在同一页面中有其他布局。我试图通过使用 control + D、control + R 等提供键盘快捷键,所以我面临的问题是,如果我专注于布局 1 中的文本字段,然后按键盘键 control + D正确地聚焦预期的小部件。但是如果我在文本域之外单击(特定页面屏幕上的任何位置),那么它就会失去焦点。现在,如果我单击 Control + D,快捷方式和操作小部件不会侦听键盘事件。
为了显示这个问题,我只是在此处创建了简单的代码,并且在该代码中,如果我单击文本字段之外并且尝试使用 control + D,则它不起作用。
例如,在下面的代码中,我有两个文本字段,我根据快捷方式专注于这些文本字段(这只是解释问题的示例)。control + R 是聚焦于文本字段 1,control + D 是聚焦于文本字段 2。它工作正常。但是如果我单击文本字段之外的某个位置,然后尝试快捷方式,它不会侦听键盘事件。它会失去焦点。
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
class KeyboardShortcutTesting extends StatelessWidget {
KeyboardShortcutTesting({Key? key}) : super(key: key);
final FocusNode textfield1FocusNode = FocusNode();
final FocusNode textfield2FocusNode = FocusNode();
@override
Widget build(BuildContext context) {
return Shortcuts(
shortcuts: {
LogicalKeySet(LogicalKeyboardKey.controlLeft, LogicalKeyboardKey.keyR):
Testfield1ShorcutIntent(),
LogicalKeySet(LogicalKeyboardKey.controlLeft, LogicalKeyboardKey.keyD):
Testfield2ShorcutIntent(),
},
child: Actions(
actions: {
Testfield1ShorcutIntent:
CallbackAction<Testfield1ShorcutIntent>(onInvoke: (intent) {
print('clicked cnrl + D'); …Run Code Online (Sandbox Code Playgroud) 在我的用例中,我创建了 JDBC kafka 连接器,从 oracle 表中提取数据并成功推送到 kafka 主题,但是当我尝试读取来自这个 kafka 主题的消息时,我遇到了如下所示的反序列化问题。
org.apache.kafka.common.errors.SerializationException: Error deserializing Avro message for id 2
Caused by: java.net.MalformedURLException: unknown protocol: localhost
at java.net.URL.<init>(URL.java:593)
at java.net.URL.<init>(URL.java:483)
at java.net.URL.<init>(URL.java:432)
at io.confluent.kafka.schemaregistry.client.rest.RestService.sendHttpRequest(RestService.java:124)
at io.confluent.kafka.schemaregistry.client.rest.RestService.httpRequest(RestService.java:188)
at io.confluent.kafka.schemaregistry.client.rest.RestService.getId(RestService.java:330)
Run Code Online (Sandbox Code Playgroud)