在 Flutter AndroidView 中点击时 EditText 不显示键盘

Dav*_* Yi 5 flutter flutter-plugin flutter-platform-channel

import android.content.Context;\nimport android.view.View;\nimport android.widget.EditText;\nimport io.flutter.plugin.common.MethodCall; \nimport io.flutter.plugin.common.MethodChannel;\nimport static io.flutter.plugin.common.MethodChannel.Result;\nimport io.flutter.plugin.common.BinaryMessenger;\nimport io.flutter.plugin.platform.PlatformView;\n\npublic class FlutterTextView implements PlatformView, MethodChannel.MethodCallHandler {\n    private final EditText textView;\n    private final MethodChannel methodChannel;\n\n    FlutterTextView(Context context, BinaryMessenger messenger, int id) {\n        textView = new EditText(context);\n        methodChannel = new MethodChannel(messenger, "plugins.cjs.test/textview_" + id);\n        methodChannel.setMethodCallHandler(this);\n    }\n\n    @Override\n    public View getView() {\n        return textView;\n    }\n\n    @Override\n    public void onMethodCall(MethodCall methodCall, MethodChannel.Result result) {\n        switch (methodCall.method) {\n            case "setText":\n                setText(methodCall, result);\n                break;\n            default:\n                result.notImplemented();\n        }\n\n    }\n\n    private void setText(MethodCall methodCall, Result result) {\n        String text = (String) methodCall.arguments;\n        textView.setText(text);\n        result.success(null);\n    }\n\n    @Override\n    public void dispose() {}\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是Android平台代码。Flutter 中嵌入 EditText AndroidView 时,软键盘无法显示。本地Flutter版本为1.2.1。

\n\n
\n

Flutter 1.2.1 \xe2\x80\xa2 通道 beta \xe2\x80\xa2 https://github.com/flutter/flutter.git \n 框架 \xe2\x80\xa2 修订版 8661d8aecd(3 周前) \xe2\ x80\xa2 2019-02-14 19:19:53 -0800\n 引擎 \xe2\x80\xa2 修订版 3757390fa4\n 工具 \xe2\x80\xa2 Dart 2.1.2(内部版本 2.1.2-dev.0.0 0a7dcf17eb)

\n
\n