在我的项目中,我有一个自动完成编辑文本,其中包含可供选择的值列表。 如果用户输入的内容不在该列表中,则应显示错误。到目前为止,此工作正常,问题是当用户(正确)从列表中选择项目时也会显示错误。因此,当正确选择时,将执行if和else语句。
任何解决方案?
for(int i = 0; i < countries.length; i ++) {
if(citySelected.equals(countries[i])) {
ServiceDatabase.getCity = citySelected;
Intent intent = new Intent(SearchService.this, ServiceActivity.class);
startActivity(intent);
} else {
int ecolor = Color.BLACK; // whatever color you want
String estring = "Bitte wähle eine Stadt aus der Liste aus";
ForegroundColorSpan fgcspan = new ForegroundColorSpan(ecolor);
SpannableStringBuilder ssbuilder = new SpannableStringBuilder(estring);
ssbuilder.setSpan(fgcspan, 0, estring.length(), 0);
autoCompleteTextViewCity.setError(ssbuilder);
}
}
答案 0 :(得分:0)
您需要重构for
循环。
目前正在检查针对每个城市的输入,如果它与其中任何一个不匹配,则会调用setError
。
可能的解决方案如下:
if (Arrays.asList(countries).contains(ServiceDatabase.citySelected)) {
// Start SearchService...
} else {
// call setError on the TextView
}