import android.content.Context;
import android.view.View;
import android.widget.EditText;
import io.flutter.plugin.common.MethodCall;
import io.flutter.plugin.common.MethodChannel;
import static io.flutter.plugin.common.MethodChannel.Result;
import io.flutter.plugin.common.BinaryMessenger;
import io.flutter.plugin.platform.PlatformView;
public class FlutterTextView implements PlatformView, MethodChannel.MethodCallHandler {
private final EditText textView;
private final MethodChannel methodChannel;
FlutterTextView(Context context, BinaryMessenger messenger, int id) {
textView = new EditText(context);
methodChannel = new MethodChannel(messenger, "plugins.cjs.test/textview_" + id);
methodChannel.setMethodCallHandler(this);
}
@Override
public View getView() {
return textView;
}
@Override
public void onMethodCall(MethodCall methodCall, MethodChannel.Result result) {
switch (methodCall.method) {
case "setText":
setText(methodCall, result);
break;
default:
result.notImplemented();
}
}
private void setText(MethodCall methodCall, Result result) {
String text = (String) methodCall.arguments;
textView.setText(text);
result.success(null);
}
@Override
public void dispose() {}
}
これは Android プラットフォームのコードです。Flutter ウィジェットに EditText AndroidView を埋め込むと、ソフト キーボードが表示されません。ローカル Flutter のバージョンは 1.2.1 です。
Flutter 1.2.1 • チャネル ベータ版 • https://github.com/flutter/flutter.git フレームワーク • リビジョン 8661d8aecd (3 週間前) • 2019-02-14 19:19:53 -0800 エンジン • リビジョン 3757390fa4 ツール • Dart 2.1.2 (ビルド 2.1.2-dev.0.0 0a7dcf17eb)