我只是Android编程的初学者,我有一个问题,我一直试图找到一种方法来使用if语句来启用按钮。我想要的是,如果用户输入EditText的内容等于我定义的字符串,我想要启用按钮,否则禁用。我已经使用了TextWatcher,我可以使用整数执行此任务,但我想知道这是否也可以使用字符串?非常感谢任何帮助
答案 0 :(得分:0)
如果用户未在setError
中输入任何数据,您可以始终在edittext上使用edittext
。单击该按钮时,使用if
语句检查edittext
中的文本是否等于您定义的字符串。如果没有,请使用setError
edittext
来显示错误消息并返回false
。因此,只有当函数返回true时,才允许启用按钮的功能。
否则你总是可以尝试,myButton.setEnabled(false);
匹配字符串时将其设置为true。
如果您想要XML等效尝试android:clickable
String s= et.getText().toString();
if(s.equals("hurray"))
{
b.setClickable(true);
}
答案 1 :(得分:0)
是的,您可以使用textchange侦听器
来收听文本yourEditText.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
// you can call or do what you want with your EditText here
// compare the editable text s with your fixed string.
// if this matched with your predefined text. enable your button click.
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
public void onTextChanged(CharSequence s, int start, int before, int count) {}
});