如何在进入下一个之前用信息验证几个 TextView 字段 activity

How to validate several TextView field with infromation before going into the next activity

我想做的是在进入下一个 activity 之前检查是否所有 TextView 和 Spinner(下拉)都已被填充和选择。如果其中任何一个或其中一些是空的,我想突出显示相应的字段。任何建议或帮助编码都会很棒。 我有这样的东西:

        value_1=tv1.getSelectedItem().toString();
        value_2=tv2.getText().toString();
        value_3=tv3.getText().toString();
        value_4=tv4.getText().toString();
        value_5=tv5.getText().toString(); 
        Intent intent= new Intent(FormActivity.this,MapsActivity.class);
        intent.putExtra("key1",value_1);
        intent.putExtra("key2",value_2);
        intent.putExtra("key3",value_3);
        intent.putExtra("key4",value_4);
        intent.putExtra("key5",value_5);
        startActivity(intent);

对于您的微调器问题,请查看以下教程。 Spinnerdrop

这是一个很好的教程。您需要一个侦听器来侦听 onclick 方法。跟着那个,我想你会到达那里。如果您需要更多帮助,请随时询问

下面是如果你需要检查一个字符串是否为零。 length() 方法将 return 给定字符串长度的 int 值。在您的情况下,该值不得变为 0(零)。

if((value_1.length() != 0 ) && (value_2.length() != 0) && (value_3.length() != 0) && (value_4.length() !=0) && (value_5.length() !=0))
{
    //Your code
} else {
   //handle error
}

PS:不要使用android-studio标签,那只是针对ide的问题。坚持 android 标签。

定义视图

private View focusView = null;

按钮的OnClick调用下面的方法

button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
               if (validate()) {
                   //do your work
                } else {
                    focusView.requestFocus();
                }
            }
        });

//验证每个编辑文本的代码

   private boolean validate() {

        if (TextUtils.isEmpty(getEmail)) {
            emailText.setError(getString(R.string.error_field_required));
            focusView = emailText;
            return false;
        } else if (!getEmail.matches(EMAIL_REGEX)) {
            emailText.setError("Invalid Email Address");
            focusView = emailText;         
            return false;
        } else if (TextUtils.isEmpty(getName)) {
               nameText.setError(getString(R.string.error_field_required));
            focusView = nameText;         
            return false;
        }
    else{
            return true;
        }
}

如果特定的编辑文本为空且无效,这将使您关注视图