我需要为edittext设置长度。我无法设置edittext的长度,因为我在其中使用了equals方法。
下面我发布了相关的代码。我需要对edittext执行验证。如果edittext长度小于0.那么它就不会移动到新的活动。
if (!editText.getText().toString().equals("c") && !editText.getText().toString().equals("c1"))
{
Intent i2 = new Intent(First.this, Second.class);
startActivity(i2);
}
.....
.....
String strUserName = editText.getText().toString();
if(TextUtils.isEmpty(strUserName)) {
// editText.setError("Your message");
Toast.makeText(First.this,"Please enter number", Toast.LENGTH_SHORT).show();
return;
我唯一的问题是,如果值为null,则Edittext会移动到另一个活动。我必须通过设置保留此活动的长度来限制它。
任何人都可以帮助我。谢谢。
答案 0 :(得分:2)
如果值为null,则Edittext移动到另一个活动。
因为:
if (!editText.getText().toString().equals("c") &&
!editText.getText().toString().equals("c1"))
当editext true
方法返回getText()
或除null
和c
之外的任何其他值时,条件为c1
。
在检查null
和c
String.like的值之前添加c1
并清空检查:
if(TextUtils.isEmpty(strUserName)) {
// show Toast message when value is empty
}else if (!editText.getText().toString().equals("c") &&
!editText.getText().toString().equals("c1")){
// start next Activity if text is equals to `c` and `c1`
}
答案 1 :(得分:0)
检查您的EditText是否不返回null。
如果您要在c或c 1旁输入任何内容,它会带您进行下一个活动,为什么?因为您的条件检查EditText中的String是c还是c1,如果它不是C或C1打开第二个活动。