我是Android开发和Android Studio的新手, 所以请原谅我的无知。
我在这里尝试从电话号码(editphone)和密码(editpassword)中获取值。因此,请告诉我如何增强下面的代码,以检查两者中的空值。
Signbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final ProgressDialog mdialog = new ProgressDialog(signin.this);
mdialog.setMessage("please waiting...");
table_user.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot.child(editphone.getText().toString()).exists())
{
mdialog.dismiss();
user userobj = dataSnapshot.child(editphone.getText().toString()).getValue(user.class);
if (userobj.getPassword().equals(editpassword.getText().toString())) {
Toast.makeText(getApplicationContext(), "Sign in successfully", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), "Sign in failed", Toast.LENGTH_SHORT).show();
}
}
else
{
Toast.makeText(getApplicationContext(), "user is not exist", Toast.LENGTH_SHORT).show();
}
}
答案 0 :(得分:0)
您可以使用yourEditText.getText()。trim()。equalsIgnoreCase(“”)检查您的编辑文本是否为空
答案 1 :(得分:0)
Savi,您的editText.getText()。toString()永远不能为null,尽管-“”可以为空字符串。您只想使用.isEmpty()检查即可。
TextUtils.isEmpty(..)将检查您的String是否为null或为空,在这种情况下,您不需要这样做,因为null检查只是开销。
您可以添加所有其他种类的验证,我建议您在验证器类中进行验证,或者基本上为验证创建一个通用的位置,以便所有视图都可以轻松使用它们并对其进行验证,显示提示错误或执行其他操作
这是关于editText字段的问题,如果您的getChild方法返回null则是另一回事,请检查该方法返回的内容,仅当它不为null时,继续执行成功流程。
答案 2 :(得分:0)
将edittext值存储在字符串中,然后在问题下方的注释中使用@Jay提供的TextUtils.isEmpty(java.lang.CharSequence)解决方案。然后使用isEmpty(String)返回的布尔值执行空处理。
table_user.addListenerForSingleValueEvent(new ValueEventListener(){
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String str1 = editphone.getText().toString(); // use this at other places too where you are getting string from edittexts
if(TextUtils.isEmpty(java.lang.CharSequence)){
// show your toast or msg or perform any other task
return;
}
if(dataSnapshot.child(str1).exists())
{
mdialog.dismiss();
user userobj = dataSnapshot.child(editphone.getText().toString()).getValue(user.class);
if (userobj.getPassword().equals(editpassword.getText().toString())) {
Toast.makeText(getApplicationContext(), "Sign in successfully", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), "Sign in failed", Toast.LENGTH_SHORT).show();
}
}
else
{
Toast.makeText(getApplicationContext(), "user is not exist", Toast.LENGTH_SHORT).show();
}
}
答案 3 :(得分:0)
您可以通过以下代码从这两者中检查空值:
Signbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final ProgressDialog mdialog = new ProgressDialog(signin.this);
mdialog.setMessage("please waiting...");
if (!TextUtils.isEmpty(editphone.getText.toString.trim()) && !TextUtils.isEmpty(editpassword.getText.toString.trim())) {
table_user.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot.child(editphone.getText().toString()).exists())
{
mdialog.dismiss();
user userobj = dataSnapshot.child(editphone.getText().toString()).getValue(user.class);
if (userobj.getPassword().equals(editpassword.getText().toString())) {
Toast.makeText(getApplicationContext(), "Sign in successfully", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), "Sign in failed", Toast.LENGTH_SHORT).show();
}
}
else
{
Toast.makeText(getApplicationContext(), "user is not exist", Toast.LENGTH_SHORT).show();
}
}
}
}
答案 4 :(得分:-1)
您需要全局定义数字和密码值。
CheckBox cb =(CheckBox)findViewById(R.id。***);
空控件:
cb.isChecked();