【问题标题】:java.lang.RuntimeException: setOnItemClickListener cannot be used with a spinnerjava.lang.RuntimeException:setOnItemClickListener 不能与微调器一起使用
【发布时间】:2020-04-28 07:47:56
【问题描述】:
mSpinner.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                if (id == 2) {
                    showToast(getString(R.string.added_alert));
                    checkBoxAlarm.setEnabled(true);
                } else {
                    checkBoxAlarm.setEnabled(false);
                    checkBoxAlarm.setChecked(false);
                }
                if (id == 3) {
                    showToast(getString(R.string.notify));
                    checkboxnotify.setEnabled(true);
                } else {
                    checkboxnotify.setEnabled(false);
                    checkboxnotify.setChecked(false);
                }
            }

            public void onNothingSelected(AdapterView parent) {
            }
        });

【问题讨论】:

    标签: android runtimeexception


    【解决方案1】:

    在错误中可以看到:setOnItemClickListener 不能使用

    使用

    setOnItemSelectedListener
    

    而不是

    setOnItemClickListener
    

    首先你应该改变它。然后你就可以使用position了。

    【讨论】:

      【解决方案2】:

      当您想比较选定项目在微调器中的位置时,您必须使用 position 代替 id

      mSpinner.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                  @Override
                  public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                      if (position == 2) {
                          showToast(getString(R.string.added_alert));
                          checkBoxAlarm.setEnabled(true);
                      } else {
                          checkBoxAlarm.setEnabled(false);
                          checkBoxAlarm.setChecked(false);
                      }
                      if (position == 3) {
                          showToast(getString(R.string.notify));
                          checkboxnotify.setEnabled(true);
                      } else {
                          checkboxnotify.setEnabled(false);
                          checkboxnotify.setChecked(false);
                      }
                  }
      
                  public void onNothingSelected(AdapterView parent) {
                  }
              });
      

      【讨论】:

        【解决方案3】:

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-11-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-01-28
          • 2021-10-02
          • 1970-01-01
          相关资源
          最近更新 更多