如何允许粘贴到空的EditText?

时间:2015-07-31 12:24:24

标签: android android-edittext

当我单击空的EditText时,

粘贴建议弹出窗口不会出现(非空的确定)。

XML

<EditText
    android:layout_width="0dp"
    android:layout_height="fill_parent"
    android:layout_weight="1"
    android:gravity="right"
    android:textSize="50sp"
    android:inputType="numberDecimal"
    android:id="@+id/text"/>

触及EditText的代码

editText.setRawInputType(InputType.TYPE_NULL);
if (Build.VERSION.SDK_INT >= 11) {
    editText.setTextIsSelectable(true);
} else {
    editText.setFocusable(true);
}

3 个答案:

答案 0 :(得分:1)

您是否尝试先复制数据?我只是在我自己的应用程序上尝试过,没有做任何事情,我有一个崩溃对话框,在我复制了一些内容后出现。如果我没有复制,我就没有弹出窗口(这是正常的)。

答案 1 :(得分:0)

添加此项并重试:

android:textIsSelectable="true"
android:cursorVisible="false"

所以你的布局将包含:

<EditText
   android:layout_width="0dp"
   android:layout_height="fill_parent"
   android:layout_weight="1"
   android:gravity="right"
   android:textSize="50sp"
   android:inputType="numberDecimal"
   android:id="@+id/text"
   android:textIsSelectable="true"
   android:cursorVisible="false"/>

如果您设置了android:cursorVisible="true",那么只有当字段不为空时才能粘贴。

答案 2 :(得分:0)

尝试此代码,如果有效则反馈我:D

XML代码

  android:inputType="none"
android:textIsSelectable="true"

Java代码

textView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            ClipboardManager cm = (ClipboardManager)context.getSystemService(Context.CLIPBOARD_SERVICE);
            cm.setText(textView.getText());
            Toast.makeText(context, "Copied to clipboard", Toast.LENGTH_SHORT).show();
        }
    });