如何使输入类型设置为空时光标可见?

Ama*_*war 5 android android-keypad android-edittext

我正在创建一个简单的计算器应用程序,其中有一个Edittext和一些按钮来接受用户的输入。

<EditText
    android:id="@+id/editText"
    style="@style/editTextStyle"
    android:text="0"
    android:inputType="none"
    android:textIsSelectable="true" />
Run Code Online (Sandbox Code Playgroud)

以下是java代码。

editText = (EditText) findViewById(R.id.editText);
editText.setInputType(InputType.TYPE_NULL);
Run Code Online (Sandbox Code Playgroud)

我将输入类型设置为 null,以便当用户点击 时edittext,默认系统键盘保持隐藏状态。但这也会使光标不可见。当我插入一些文本Edittext并点击它时,光标位置发生变化,但光标不可见。

有什么方法可以使输入类型设置为空时光标可见吗?

更新:

我尝试使用以下代码。

editText = (EditText) findViewById(R.id.editText);
editText.setInputType(InputType.TYPE_NULL);
editText.setRawInputType(InputType.TYPE_CLASS_TEXT);
Run Code Online (Sandbox Code Playgroud)

该解决方案适用于 Nougat 之前的 Android 版本。当我点击 Edittext 时,系统键盘保持隐藏状态,光标可见。但在奥利奥中,这个解决方案不起作用。当我点击 Editext 时,系统键盘会弹出。

有没有办法在光标可见时保持系统键盘隐藏?

Gau*_*mar 0

你应该使用:

editText.setTextIsSelectable(true);
Run Code Online (Sandbox Code Playgroud)