2012-05-02 70 views
3

我有两个在布局中定义的编辑文本。他们都是用于电子邮件地址 一旦用户在第一个框中输入,我想强制用户重新输入相同的电子邮件地址,而无需执行任何复制粘贴操作。EditText,不允许从一个复制/粘贴到其他

+1

请不要。请注意,在移动设备上打字相当麻烦,特别是对于我们这些对触摸屏不太擅长的人。强制用户进行冗余数据输入并不是一个好的计划。使用*一个*'EditText'作为电子邮件地址。使用'android:inputType =“textEmailAddress”'来帮助用户正确输入。使用正则表达式来确认输入地址的基本有效性,然后对其进行测试(例如,向该地址发送确认电子邮件),或者仅在用户输入错误时允许用户稍后进行修复。 – CommonsWare

+1

我确实相信用户体验及其局限性,但如果产品需要它,那么我必须实现它。我喜欢你的建议,但他们至少不被这个项目接受。 – mask

回答

4

没有测试过这个,但我想你可以重写OnLongClick监听器(对于每个EditTexts),以便它不显示上下文菜单。因此他们将无法复制和粘贴。

OnLongClickListener mOnLongClickListener = new OnLongClickListener() { 

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

     return true; 
    } 
}; 
+0

IT做了一个小窍门,工作得很好。谢谢你的帮助。 – mask

+0

没问题,我很高兴它的工作。如果您不介意,请将其标记为正确答案:) – 2012-05-02 18:51:46

+0

我该怎么做? – mask

1

您可以设置,在textView's属性(XML文件)中的一个属性:

机器人:longClickable = “假”。

这将避免您的textView中的longclick事件。

相关问题