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

时间:2019-02-21 00:31:49

标签: android textview

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

        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);

2 个答案:

答案 0 :(得分:1)

定义视图

private View focusView = null;

OnClick的按钮调用方法

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

//验证每个editext的代码

   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;
        }
}

如果特定的edittext为空且无效,这将使您集中查看

答案 1 :(得分:0)

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

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

以下内容用于您是否需要检查字符串是否为零。 方法length()将返回给定字符串长度的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标签。