我有一些文字视图,其中有几个画家排成一列。微调器中有4种选择,它们都是相同的,第一种选择是' - '。我希望在选择默认选项“ - ”时,微调器旁边的textview为红色,否则为白色。
我编写了这个来处理这个,但当你选择一个微调器的不同选项时,所有的textview都会改变它的行为真的很奇怪。
public void onItemSelected(AdapterView<?> parent,
View view, int pos, long id) {
switch(parent.getId()) {
case R.id.spinner1:
if(parent.getItemAtPosition(pos).toString().equals("--")){textView1.setTextColor(Color.RED);}else{textView1.setTextColor(Color.WHITE);}
case R.id.spinner2:
if(parent.getItemAtPosition(pos).toString().equals("--")){textView2.setTextColor(Color.RED);}else{textView2.setTextColor(Color.WHITE);}
case R.id.spinner3:
if(parent.getItemAtPosition(pos).toString().equals("--")){textView3.setTextColor(Color.RED);}else{textView3.setTextColor(Color.WHITE);}
}
}
答案 0 :(得分:2)
你需要放一个
break;
在每个案件结束时。
public void onItemSelected(AdapterView<?> parent,
View view, int pos, long id) {
switch(parent.getId()) {
case R.id.spinner1:
if(parent.getItemAtPosition(pos).toString().equals("--")){textView1.setTextColor(Color.RED);}else{textView1.setTextColor(Color.WHITE);}
break;
case R.id.spinner2:
if(parent.getItemAtPosition(pos).toString().equals("--")){textView2.setTextColor(Color.RED);}else{textView2.setTextColor(Color.WHITE);}
break;
case R.id.spinner3:
if(parent.getItemAtPosition(pos).toString().equals("--")){textView3.setTextColor(Color.RED);}else{textView3.setTextColor(Color.WHITE);}
break;
}
}
答案 1 :(得分:1)
你忘记了案件块中的“休息”:
case R.id.spinner1:
if(parent.getItemAtPosition(pos).toString().equals("--")){
textView1.setTextColor(Color.RED);
} else {
textView1.setTextColor(Color.WHITE);
}
break;
等等。