【问题标题】:Spinner onitemclicklistener not working微调器 onitemclicklistener 不起作用
【发布时间】:2014-01-04 06:05:16
【问题描述】:

我的应用中有一个 Spinner,但在单击某个项目时它不起作用。我得到了值,但 if 条件没有起作用。

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
                Object item = parent.getItemAtPosition(pos);

                String Text = effecttwo.getSelectedItem().toString();
                System.out.println("spinner is -"+item+"-");

// I get the correct values in System.out.println

                if(Text=="Hue"){

           // not entering into this condition or any other condition       

                }else if(Text=="Saturation"){


                }else if(Text=="Brightness"){



                }else{

                }


            }
            public void onNothingSelected(AdapterView<?> parent) {
            }
        });

请告诉我我做错了什么。

【问题讨论】:

    标签: android spinner android-spinner onclicklistener onitemclicklistener


    【解决方案1】:
    I get the values but the if condition is not getting worked.
    

    if(Text=="Hue"){

    错误

    使用.equals.equalsIgnoreCase 比较字符串

    http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#equals(java.lang.Object)

    if(Text.equals("Hue"))
    {
    
    }
    

    What is the difference between == vs equals() in Java?

    【讨论】:

      【解决方案2】:

      您不会将字符串与== 进行比较。使用这个:

      if(text.equals("Hue"))
      {
      
      }
      

      所以你的代码是这样的:

      spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
              public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
                  Object item = parent.getItemAtPosition(pos);
      
                  String Text = effecttwo.getSelectedItem().toString();
                  System.out.println("spinner is -"+item+"-");
      
      // I get the correct values in System.out.println
      
                  if(text.equals("Hue")){
      
             // not entering into this condition or any other condition       
      
                  }else if(text.equals("Saturation")){
      
      
                  }else if(text.equals("Brightness")){
      
      
      
                  }else{
      
                  }
      
      
              }
              public void onNothingSelected(AdapterView<?> parent) {
              }
          });
      

      【讨论】:

        【解决方案3】:

        不要在匿名类中做监听器。

        使用spinner.setOnItemSelectedListener(this) 执行此操作,并将implement AdapterView.OnItemSelectedListener 放在您的片段或活动之后。

        【讨论】:

          猜你喜欢
          • 2014-03-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多