2015-01-12 3 views
0

Im новое для android, и я не получаю код на сайте разработчиков об этом, я просто хочу проверить, включено или выключено состояние кнопки переключения. У меня есть следующий сценарийПроверить состояние togglebutton android

if (isCheckedToggleButton?) 
{ 
    // do something   
} 
else 
{ 
    // do something else 
} 

И метод, как руководство предлагает

public void onToggleClicked(View view) 
{ 
    boolean on = ((ToggleButton)view).isChecked(); 

    if(on) { 
     return; 
    } else { 

    } 
} 

Так что я просто хочу, чтобы увидеть, если кнопка-переключатель включен или выключен, так что я могу решить, следует ли выполнять код внутри if или else. К сожалению, метод, предоставленный руководством Android, является недействительным, поэтому он не возвращает логическое значение. Как я могу проверить состояние?

 <Switch 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Lift" 
      android:textOff="Uit" 
      android:textOn="Aan" 
      android:id="@+id/switchLift" android:layout_below="@id/btnEindpunt" 
      android:layout_alignLeft="@+id/btnEindpunt"/> 
+0

См. Здесь http://developer.android.com/guide/topics/ui/controls/togglebutton.html –

ответ

0

Используйте его как этот

myToggleButton.setOnCheckedChangeListener(new OnCheckedChangeListener() 
{ 
    @Override 
    public void onCheckedChanged(CompoundButton toggleButton, boolean isChecked) 
    { 
     if(isChecked) 
      // Do something 
     else 
      // Do the other thing 
    } 
}); 

Изменение

ToggleButton myToggleButton = ((ToggleButton) findViewById(R.id.switchLift)); 

в

Switch myToggleButton = ((Switch) findViewById(R.id.switchLift)); 

изменить Также isChecked на что-то другое, как mIsChecked или внутри слушателя ˙U se YourClassName.this.isChecked для изменения его значения. Существует уже локальная переменная с тем же именем.

+0

Это дает мне исключение нулевого указателя в первой строке вашего кода. Одна строка поверх этого у меня есть CompoundButton myToggleButton = (ToggleButton) findViewById (R.id.switchLift); – Reshad

+0

Двойная проверка «switchLift» - это идентификатор ToggleButton в текущем макете активности? –

+0

Thats, потому что код, который вы написали выше моего кода, как-то не прав. Существует ли какая-либо кнопка Toggle в макете, которую вы используете с id 'switchLift'? Пожалуйста, добавьте еще код, где я могу видеть, как вы его инициализируете. – Rohit5k2

 Смежные вопросы

  • Нет связанных вопросов^_^