마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 preference 함수 [closed]

–2 추천
public class settingActivity extends ActionBarActivity  {


  public static final String KEY_MY_PREFERENCE = null;


 @Override
  protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.settingmain);
                                                                     
   final ToggleButton  btn5 = (ToggleButton) findViewById
                                                 (R.id.Button5);
   final ToggleButton  btn6 = (ToggleButton) findViewById
                                                 (R.id.Button6);
   final ToggleButton  btn7 = (ToggleButton) findViewById
                                                 (R.id.Button7);
   final ToggleButton  btn8 = (ToggleButton) findViewById
                                                 (R.id.Button8);


  SharedPreferences pref = getSharedPreferences
                                         ("pref", MODE_PRIVATE);
  String text = pref.getString(KEY_MY_PREFERENCE, "OFF");
         
         Boolean tog1 = pref.getBoolean("Button5", false);
         Boolean tog2 = pref.getBoolean("Button6", false);
         Boolean tog3 = pref.getBoolean("Button7", false);
         Boolean tog4 = pref.getBoolean("Button8", false);
      
         btn5.setText(text);
         btn6.setText(text);
         btn7.setText(text);
         btn8.setText(text);

}

public void onStop() { 
      super.onStop();
      SharedPreferences pref = getSharedPreferences
                                        ("pref", MODE_PRIVATE);
      SharedPreferences.Editor editor = pref.edit(); .
      
   final ToggleButton  btn5 = (ToggleButton) findViewById
                                               (R.id.Button5);
   final ToggleButton  btn6 = (ToggleButton) findViewById
                                               (R.id.Button6);
   final ToggleButton  btn7 = (ToggleButton) findViewById
                                               (R.id.Button7);
   final ToggleButton  btn8 = (ToggleButton) findViewById
                                               (R.id.Button8);
      

      editor.putBoolean("Button5", btn5.isChecked());
      editor.putBoolean("Button6", btn6.isChecked());
      editor.putBoolean("Button7", btn7.isChecked());
      editor.putBoolean("Button8", btn8.isChecked());
      editor.putBoolean(KEY_MY_PREFERENCE, false);
      editor.commit(); 
    
 }

}


현재 토글버튼의 상태를 저장하려고  SharedPreferences를 사용해서.. 나타냈는데요...

인터넷에..체크박스 예제보고 응용해본건데... 안되네요..

무슨 문제가있나요??

 

질문을 종료한 이유: 해결완료
헬프미 (5,430 포인트) 님이 2014년 12월 30일 질문
헬프미님이 2015년 1월 2일 reshown

1개의 답변

0 추천
 
채택된 답변
onStop에서는 KEY_MY_PREFERENCE 값을 boolean 형식으로 저장해놓구선

onCreate에서 string으로 읽어오면 exception 날듯 한데요..
사악미소 (65,330 포인트) 님이 2014년 12월 30일 답변
헬프미님이 2015년 1월 3일 채택됨
그럼 어떻게 해줘야하죠..?
키가 Boolean 아닌가요.
boolean 으로 저장했으면 getBoolean
String 으로 저장했으면 getString 해야겠죠
...