2015-02-05 2 views
0

В настоящее время у меня есть флажок, реализованный в моем коде с помощью прослушивателя кликов. Слушатель кликов просто извлекает мои общие привилегии и сохраняет их, чтобы их можно было применять при перезагрузке (через службу).Android - CheckBox Not Saving check Состояние

Мне интересно, как я могу изменить следующий код, чтобы также помнить «Состояние» этого флажка.

setboot.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     Toast.makeText(MainActivity.this, "Applied on boot", Toast.LENGTH_SHORT).show(); 

     new Thread(new Runnable() { 
      @Override 
      public void run() { 
       android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_BACKGROUND); 

       HashM hash2 = new HashM(); 
       hash2.getPrefs(MainActivity.this); 

      } 

     }).start(); 

    } 
}); 
+1

Где моя коробка? Или переменная его состояния? –

+0

не добавил переменную состояния ... все, что у меня есть, это то, что я написал выше – Adam

ответ

1

Вы можете создать переменную класса, которая отслеживает «состояния» CheckBox (я предполагаю, что «состояние» здесь означает, что, если флажок щелкнул или нет).
boolean ischeckboxcheck= false;

Далее, используйте приведенный ниже код, чтобы выбрать состояние вашего флажка.

setboot = (CheckBox) findViewById(R.id.checkbox);  
ischeckboxcheck = setboot.isChecked(); 

Теперь у вас есть «состояние» Флажок.
Затем скопируйте эту государственную информацию в свой объект sharedpreference, как показано ниже:
mySharedPreference.edit().putBoolean("checkboxvalue", ischeckboxcheck);

Позже, от вашего объекта sharedpreference вы должны быть в состоянии «читать» государственную информацию из вашего sharedpreference с помощью клавиши «checkboxvalue», как показано ниже :

mySharedPreference.getBoolean("checkboxvalue", false)