我有一个 EditText,我希望用户能够单击它以使光标出现,然后启用写入文本。但是,我不希望用户能够选择文本(以透明彩色方块出现在其上方以启用复制和剪切的方式)。所以基本上我希望它能与光标一起正常工作,但阻止他们通过按住或双击它来选择文本。
这是 EditText 的 xml:
<EditText
android:id="@+id/scentenceEditText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginLeft="3dp"
android:background="@android:color/transparent"
android:cursorVisible="true"
android:text="EditText"
android:textCursorDrawable="@null"
android:textSize="24sp"
tools:layout_editor_absoluteX="38dp"
tools:layout_editor_absoluteY="36dp" />
这是我尝试在 kotlin 代码中执行的操作(在适配器 onBindViewHolder 函数中):
holder.scentenceEditText.setTextIsSelectable(true)
holder.scentenceEditText.setTextIsSelectable(false)
holder.scentenceEditText.setFocusableInTouchMode(true)
holder.scentenceEditText.setFocusable(true)
holder.scentenceEditText.setClickable(true)
此代码使文本不可选择,但问题是光标不可见。在这种情况下,光标可以正常工作,但它需要可见。
如果您知道如何禁用选择文本或如何在我尝试过的情况下使光标可见,请分享解决方案。
holder.scentenceEditText.setTextIsSelectable(false)
holder.scentenceEditText.setFocusableInTouchMode(true)
holder.scentenceEditText.setFocusable(true)
holder.scentenceEditText.setClickable(true)
让上面的代码保持原样,并在 xml 的 exittext 中尝试以下行
android:cursorVisible="true"