@Mopper

По чему через раз срабатывает обработчик OnPreferenceClick?

Суть вопроса очень проста: я заметил что обработчик который я назначил SwitchPreference не всегда срабатывает. Просто через раз то отработает то нет, при этом анимация переключения срабатывает. Код тривиальный и простой:

package com.test.socks_settings;

import android.os.Bundle;
import android.preference.*;
import android.util.Log;
import android.view.View;
import com.example.minimal.R;
import go.go_mobile.Go_mobile;

public class AppPreferences extends PreferenceActivity {
    @Override
    protected void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getFragmentManager().beginTransaction().replace(android.R.id.content, new MyPreferenceFragment()).commit();

    }
    private static SwitchPreference authenable;
    private static EditTextPreference logPref;
    private static EditTextPreference passPref;
    public static class MyPreferenceFragment extends PreferenceFragment {
        @Override
        public void onCreate(final Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            addPreferencesFromResource(R.xml.prefference);
            this.findPreference("on_off_switch").setOnPreferenceClickListener(new OnSwitchClick());
            AppPreferences.logPref=(EditTextPreference)this.findPreference("user");
            AppPreferences.passPref=(EditTextPreference)this.findPreference("password");
            AppPreferences.authenable=(SwitchPreference)this.findPreference("auth_enable");
        }

        public static class OnSwitchClick implements Preference.OnPreferenceClickListener {
           public boolean onPreferenceClick(Preference preference){
               SwitchPreference sw=(SwitchPreference)preference;
               Log.i("MyActivity", "switch state"+sw.isChecked());
               if (sw.isChecked()){
                   Go_mobile.Start(1080,"","",4096);
               }else {
                   Go_mobile.Stop();
               }

               return true;
           }
        }
    }
}
  • Вопрос задан
  • 334 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы