【问题标题】:How to change text on spinner selection如何更改微调器选择的文本
【发布时间】:2012-01-19 21:41:44
【问题描述】:

我有几个 textviews 和几个旋转器排成一排的桌子。微调器中有 4 个选项,所有选项都相同,第一个选项是“--”。 I want the textview next to the spinner to be red when the default option '--' is selected, and white otherwise.

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

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

        }
    }

【问题讨论】:

    标签: java android


    【解决方案1】:

    你需要放一个

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

    【讨论】:

      【解决方案2】:

      你忘记了你的 case 块中的“break”:

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

      等等。

      【讨论】:

      • 废话-_-。谢谢,你是第一个,所以你得到了答案。都投了赞成票。谢谢大家。
      猜你喜欢
      • 1970-01-01
      • 2015-04-15
      • 2013-08-21
      • 2011-07-13
      • 2011-03-13
      • 1970-01-01
      • 1970-01-01
      • 2016-09-20
      相关资源
      最近更新 更多