如何验证微调器中的空文本

How to validate empty text in spinners

对于我的微调器,我有一个隐藏文本和一个验证码,用于在跳过微调器时显示错误消息。如果未选择微调器,代码可以正常工作,但即使我在微调器中选择了一个选项,也会一直显示错误消息。

  final int pos = spinner5.getSelectedItemPosition();
  boolean failflag = false;

  String name = null;
  if (pos!=0) {
  } else {
      failflag = true;
      TextView errorText = (TextView)spinner6.getSelectedView();
      errorText.setError("");
      errorText.setTextColor(Color.RED);
      errorText.setText("Enter your Marital Status");
  }

您需要在设置错误之前输入条件。

类似于(下面的伪代码):

If (textview.text = invalid) {
textview.setError(Please put valid text) 
} else {
textview.setError(null)
}

您应该在微调器中设置一个 OnItemSelectedListener 以在选择一个值后隐藏错误:

spinner5.setOnItemSelectedListener(new OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
        if (position != 0) {
            TextView errorText = (TextView)spinner6.getSelectedView();
            errorText.setText("");
        }        
    }

    @Override
    public void onNothingSelected(AdapterView<?> parent) {

    }
});

试试这个...

spinner6.setOnItemSelectedListener(new OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
        TextView errorText = (TextView)spinner6.getSelectedView();
        if (position > 0) { 
            errorText.setText("");
        }else{
           failflag = true; 
           errorText.setError("");
           errorText.setTextColor(Color.RED);
           errorText.setText("Enter your Marital Status");
        }     
    }

    @Override
    public void onNothingSelected(AdapterView<?> parent) {

    }
});