2017-09-22 27 views
0

所以我有一个表单在我的应用程序中注册一个客户端。在这种形式下,我有一个Consent下拉,其中有YesNo。我想要做的是,如果该人选择No,那么他们不能完成注册,他们必须选择Yes让他们继续下一个活动。用我的代码,无论用户选择什么,它仍然会给出错误信息,并且不会让它们继续前进。Android - 创建微调错误消息

我用这个代码是:

数组适配器设置:

//set up for consent spinner 
    adapter = ArrayAdapter.createFromResource(this, 
      R.array.Register_array_consent, android.R.layout.simple_spinner_item); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    mspinnerPatientConsent.setAdapter(adapter); 

微调错误设置:

// Consent Spinner Error set up 
    Boolean no_error; 
    TextView errorText = (TextView)mspinnerPatientConsent.getSelectedView(); 
    if (mspinnerPatientConsent.getSelectedItem().toString().contains("No"));{ 
     errorText.setText("Patient Must Consent to Be Registered"); 
     errorText.setError(""); 
    } 
    if (mspinnerPatientConsent.getSelectedItem().toString().contains(" "));{ 
     errorText.setText("Patient Must Consent to Be Registered"); 
     errorText.setError(""); 
     no_error = false; 
    } 

我真的很新,所以这可能是为什么我看不到问题。我感谢任何有用的意见。谢谢!

回答

0

,而不是使用选择的项目字符串使用

mspinnerPatientConsent.getSelectedItemPosition() 

这将返回所选项目的索引。

if (mspinnerPatientConsent.getSelectedItemPosition()==0);{ 
    errorText.setText("Patient Must Consent to Be Registered"); 
    errorText.setError(""); 
} 
if (mspinnerPatientConsent.getSelectedItemPosition()==1);{ 
    errorText.setText("Patient Must Consent to Be Registered"); 
    errorText.setError(""); 
    no_error = false; 
} 
+0

我是否应该在'if'语句中更改它? –

+0

这段代码应该在if语句中,看看我编辑的答案。 – rmdan

+0

它不起作用,无论选择什么,仍然给了我一个错误 –