2012-01-19 31 views
1

我有几个文本浏览器与一对排列在表格中的spinners。纺纱厂有4种选择,全部都是相同的,第一种选择是' - '。我希望微调框旁边的textview在默认选项' - '被选中时为红色,否则为白色。如何更改微调器选项上的文本

我编码这个来处理这个问题,但是当你选择一个微调器的不同选项时,所有的textviews都会改变它的行为真的很奇怪。

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);} 

     } 
    } 

回答

1

你已经在你的情况块被遗忘的 “破发”:

case R.id.spinner1: 
    if(parent.getItemAtPosition(pos).toString().equals("--")){ 
     textView1.setTextColor(Color.RED); 
    } else { 
     textView1.setTextColor(Color.WHITE); 
    } 
    break; 

等。

+0

废话-_-。谢谢,你是第一个,所以你已经得到了答案。两个都投了票。多谢你们。 – MaikelS

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; 

     } 
    } 
相关问题