使用if语句使EditText不可编辑

3

我有两个EditText(editText1和editText2),我希望用户首先在editText1中输入值,然后再在editText2中输入值,换句话说,我想让用户在editText1中输入内容之前无法编辑editText2。

我尝试过了,但没有成功:

   EditText editText1 ;
   EditText editText2 ;

    String Str1 = editText1 .getText().toString();

if(Str1.matches(""))
{
    editText2 .setKeyListener(null);    

}

你想要执行editText2.setEnabled(false)。 - cYrixmorten
不要忘记处理这种情况:当用户在editText1中写入一些文本,然后转到editText2,最后从editText1中删除文本时。 - skywall
4个回答

3
那可能符合您的要求。
if(Str1.matches("")) {
    editText2.setEnabled(false);   

}else{
    editText2.setEnabled(true); }

1

您应该使用 setEnabled() 方法

if(Str1 == null || Str1.length() == 0)
{
    editText2.setEnabled(false);    
} else
{
    editText2.setEnabled(true);    
}

你应该将那段代码放在第一个 EditTextOnKeyListener 中。这会根据第一个 EditText 中的文本长度启用或禁用第二个。

0

您可以使用.setEnabled(false)方法禁用任何view元素的功能。

因此,请使用

EditText.setEnabled(false);

0

你可以先使用editText2.setEnabled(false),然后当用户在第一个editText中输入内容时,你可以使用editText.setEnabled(true)。


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