2014-01-09 3 views
3

Я пробовал код в ответ android-widget-switch-on-off-event-listener, но сообщение ничего не говорит об ошибке, которую я пытался использовать.android.widget.Switch переключает прослушиватель событий?

На второй строке предлагаемого кода:

switch1 = (Switch) findViewById(R.id.switch1); 

    switch1.setOnCheckedChangeListener(new OnCheckedChangedListener() { //This line has the error 
     public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
      aTextView.setText("Switch was toggled"); 
     } 
    }); 

Эта ошибка вызывает

Метод setOnCheckedChangeListener (CompoundButton.OnCheckedChangeListener) в типе CompoundButton не применяется для аргументов (новый OnCheckedChangedListener() {})

Как это исправить? Все, что я хочу сделать, это вызвать функцию, когда переключатель изменяется - в отличие от того, когда он щелкнут. Благодарю.

ответ

6

Установите слушателю это, потому что ваш класс реализует compoundbutton как так ...

switch1.setOnCheckedChangeListener(this); 

Затем добавьте этот метод в коде ...

@Override 
     public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
      boolean = isChecked; 
      //whatever you want 
     } 

EDIT: если у вас нету реализовано CompoundButton.OnCheckedChangedListener использовать это ...

switch.setOnCheckedChangeListener(new OnCheckedChangeListener(

      @Override 
      public void onCheckedChanged(CompoundButton buttonView, 
        boolean isChecked) { 
       // TODO Auto-generated method stub 

      } 

     }); 
+0

Он по-прежнему не так, он говорит: «Метод onCheckChangedListener (новый onCheckChangedListener() {}) не определено для типа Switch «имеет ли значение, что это тип коммутатора, доступный из api 14? – grevin123

+0

@ grevin123 Да, это было неправильно, см. Мой новый ответ, я его обновил – Ogen

+0

Все еще не работает, я должен помещать его в неправильное место. Обновлен ли ваш метод в любом месте? – grevin123

0

Привет пожалуйста, посмотрите на http://custom-android-dn.blogspot.in/2013/01/how-to-use-and-custom-switch-in-android.html

мы можем сделать это в данном способе

switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 
      @Override 
      public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
      // TODO Auto-generated method stub 
       if (buttonView.isChecked()){ 
               //do something } 
       else{ 
        //do something 
       } 
      } 
    }); 
Смежные вопросы