我想做的是在进入下一个活动之前,检查是否所有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);
答案 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标签。