Получить состояние Switch в onCreate () - PullRequest
0 голосов
/ 19 апреля 2020

Поэтому мой вопрос заключается в том, как мне получить состояние коммутатора.

У меня есть этот код:

   notificationSwitch.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if(notificationSwitch.isChecked()){
                System.out.println("Checked");
                SharedPreferences.Editor editor = getSharedPreferences("save", MODE_PRIVATE).edit();
                editor.putBoolean("value", true);
                editor.apply();
                notificationSwitch.setChecked(true);
            }else{
                System.out.println("not checked");
                SharedPreferences.Editor editor = getSharedPreferences("save", MODE_PRIVATE).edit();
                editor.putBoolean("value", false);
                editor.apply();
                notificationSwitch.setChecked(false);
            }
        }
    });

Состояние коммутатора сохраняется в общих настройках, и если Я запускаю приложение, коммутатор находится в том же состоянии, что и при выходе из приложения. Но когда я запускаю приложение, оно должно печатать проверено или не проверено, но ничего не печатается

1 Ответ

2 голосов
/ 19 апреля 2020

Я отвечу на основе заголовка:

Чтобы получить состояние переключателя в onCreate ():

//in onCreate:

SharedPreferences prefrences = getSharedPreferences("save", MODE_PRIVATE);
//false mean if not found set to false as default
boolean stateSwitch = prefrences.getBoolean("value",false);



//set state for switch
notificationSwitch.setChecked(stateSwitch);

//log the state
if(stateSwitch == true){
    Log.d("TAG","checked");
}else{
    Log.d("TAG","not checked");
}

ОБНОВЛЕНИЕ

  • оставьте ваш onclicklistener таким же, и добавьте код, который я предоставил перед вашим onclicklistener, в onCreate:

1), когда вы включаете и оставляете активность и возвращаетесь, она должна оставаться включенной.

2) когда вы выключаете и покидаете активность и возвращаетесь, она должна остаться выключенной.

3) если вы ничего не делаете, выходите из активности и возвращаетесь, она должна оставаться выключенной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...