我试图制作IF condition
,但效果不佳。我希望当EditText
为null
时,用户不会转到下一个活动。
当它被填满后,按下按钮后会进入下一个活动。
Name = is my EditText assignment
one_next_diaspora_bt = is the Button.
以下是我的代码:
final String Name = name_diaspora_edt.getText().toString();
one_next_diaspora_bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(Name.matches("")){
Toast.makeText(getApplicationContext(),"Make sure that you have filled your name please !!!",Toast.LENGTH_LONG).show();
}
else {
Intent i = new Intent(Diaspora.this,DiasporaTwo.class);
i.putExtra("Name",Name);
i.putExtra("Age",Age);
i.putExtra("Gender",Gender);
i.putExtra("MaritalStatus",MaritalStatus);
startActivity(i);
}
}
});
答案 0 :(得分:2)
使用:
if (Name.getText() != null && Name.getText().toString().trim().equals(""))
遵循Java命名约定。变量名应以小写字符
开头答案 1 :(得分:2)
将您的状况改为:
if(edt.getText().toString().isEmpty()){
}
或
if (edt.getText().trim().equals("")){
}
答案 2 :(得分:2)
试试这个:
if (Name != null && Name.equalIgnoreCase("null") && Name.trim().equalIgnoreCase("")){
}else
{
}
答案 3 :(得分:1)
尝试TextUtils.isEmpty
,它会检查null并为空。 TextUtils是包android.text
if(android.text.TextUtils.isEmpty(Name)) {
答案 4 :(得分:1)
首先我想说,你真的应该遵循命名惯例。
但您需要抓住String
内的EditText
并将其与.equals
进行比较,如下所示:
if(name.getText().toString().equals("")){
//do something
}
答案 5 :(得分:1)
if (TextUtils.isEmpty(Name)){
Toast.makeText(getApplicationContext(),"Make sure that you have filled your name please !!!",Toast.LENGTH_LONG).show();
}
使用android默认验证,TextUtils类
答案 6 :(得分:1)
使用此:
one_next_diaspora_bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final String Name = name_diaspora_edt.getText().toString().trim();
if(Name.matches("")){
Toast.makeText(getApplicationContext(),"Make sure that you have filled your name please !!!",Toast.LENGTH_LONG).show();
}
else{
Intent i = new Intent(Diaspora.this,DiasporaTwo.class);
i.putExtra("Name",Name);
i.putExtra("Age",Age);
i.putExtra("Gender",Gender);
i.putExtra("MaritalStatus",MaritalStatus);
startActivity(i);
}
}
});
}
答案 7 :(得分:1)
使用TextUtils.isEmpty(Name)
代替Name.matches("")
。
TextUtils.isEmpty(CharSequence str) >> Returns true if the string is null or 0-length.
试试这个:
final String Name = name_diaspora_edt.getText().toString();
one_next_diaspora_bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(TextUtils.isEmpty(Name)) {
Toast.makeText(getApplicationContext(),"Make sure that you have filled your name please !!!",Toast.LENGTH_LONG).show();
} else {
Intent i = new Intent(Diaspora.this, DiasporaTwo.class);
i.putExtra("Name", Name);
i.putExtra("Age", Age);
i.putExtra("Gender", Gender);
i.putExtra("MaritalStatus", MaritalStatus);
startActivity(i);
}
}
});
希望这会有所帮助〜
答案 8 :(得分:0)
您可以使用此方法直接检查EditText,equals()适用于字符串。
试试这个
String data = Name.getText().toString();
然后
if(data.isEmpty()){
}