EditText,不允许从一个文本框复制/粘贴到另一个文本框

3

我在布局中定义了两个编辑文本框,它们都是用于输入电子邮件地址的。当用户在第一个文本框中输入后,我想强制用户重新输入相同的电子邮件地址,而不进行任何复制粘贴操作。


1
请不要这样做。请注意,在移动设备上打字相当麻烦,特别是对于那些不太擅长触摸屏的人来说。强迫用户进行冗余的数据输入并不是一个好计划。使用一个 EditText 来输入电子邮件地址。使用 android:inputType="textEmailAddress" 来帮助用户正确输入。使用正则表达式确认已输入地址的基本有效性,然后测试它(例如,向该地址发送一封确认电子邮件),或者在出现输错时允许用户稍后进行修正。 - CommonsWare
1
我确实相信用户体验及其局限性,但如果产品需要,我就必须实现它。我喜欢你的建议,但至少在这个项目中它们不被接受。 - mask
2个回答

4
我还没有测试过,但我认为你可以覆盖每个EditText的OnLongClick监听器,这样它就不会显示上下文菜单。因此,他们将无法复制和粘贴。
 OnLongClickListener mOnLongClickListener = new OnLongClickListener() {

    @Override
    public boolean onLongClick(View v) {
        //since nothing is in here, nothing will happen.  

        return true;
    }
};

没问题,我很高兴它起作用了。如果您不介意的话,请将其标记为正确答案 :) - user631063
只需按下我的答案左侧数字“1”旁边应该有的勾号即可。 - user631063

1
您可以在textView的属性(xml文件)中设置以下属性:

android:longClickable="false"。

这将避免在您的textView中触发长按事件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接