Utworzono podklasę PreferenceFragment
, która implementuje CompoundButton.OnCheckedChangeListener
. Mam jedną preferencję, która zawiera Switch
(podklasa CompoundButton
). Oto zwrotna stworzyłem, gdy wartość przełączeń:Program nasłuchujący przycisk nie działa w obszarze Fragment preferencji
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
mAppController.doSomething(isChecked);
Log.v("rose_tag", "hi");
}
Oświadczam preferencję w OnCreate
następująco:
Switch mySwitch = (Switch) myView.findViewById(R.id.switch);
mySwitch.setEnabled(true);
mySwitch.setOnCheckedChangeListener(this);
Funkcja zwrotna jest wywoływana, gdy widok najpierw otwiera (a Punkt przerwania w wywołaniu zwrotnym jest trafiony), ale nie jest drukowany żaden dziennik, a wywołanie zwrotne nie jest wywoływane ponownie, nawet po włączeniu i wyłączeniu przełącznika. Jak mogę wykonać to wywołanie zwrotne?
Próbowałem również stworzyć wbudowany anonimowy słuchacz. Próbowałem również używać prostego Button
z odbiornikiem onClick
, ale to też nie działa.
masz sprawdzeniu importu? Czasami zdarza się, że istnieje niewłaściwa deklaracja importowa. Czy Twój plik onCheckedChangeListener jest importowany w następujący sposób: android.widget.CompoundButton.OnCheckedChangeListener? – Opiatefuchs
Mam 'import android.widget.CompoundButton' –
może być alternatywą dla: mySwitch.setOnCheckedChangeListener (new OnCheckedChangeListener() {}); zamiast ustawienia zaimplementowanego chekedChangeListener. Czy mógłbyś spróbować? – Opiatefuchs