小编Jam*_*ark的帖子

Flutter Web - 快捷键和操作小部件不会在页面级别监听键盘事件以提供键盘快捷键

在我的用例中,我在特定页面中有多个布局。例如,在一个页面中,我有布局(比如说布局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)

flutter flutter-web

6
推荐指数
1
解决办法
1206
查看次数

Kafka 消费者因使用未知协议反序列化 Avro 消息时出错而失败

在我的用例中,我创建了 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)

apache-kafka kafka-consumer-api apache-kafka-connect

2
推荐指数
1
解决办法
4878
查看次数