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

셰어드프리퍼런스 질문입니다 (_ _)

0 추천
●ㅇㅇㅇ

●●ㅇㅇ

●●●ㅇ

●●●●

 

버튼을 누를때 마다 이런식으로 on off의 그림이 점멸 되는 형식을 만들었는데요

작동은 잘 됩니다.

그리고 누를때마다 셰어드프리퍼런스로 저장시켰고, 앱이 실행될 때 다시 불러오는 것 까지 했습니다.

 

여기서 문제가 좀 있었는데요.

저 불이 들어오는 값은 불러왔지만 화면에 앱 재실행시 부터 불이 들어와 있게 하려면

onCreate 에서 손을 봐야 하나요? 아님 버튼에서부터 손을 봐야하나요?

 

버튼은 switch로 각 버튼에 case를 만들어서 동작해놓았습니다.

고수님들 부탁드리겠습니다(_ _)
라테 (2,620 포인트) 님이 2015년 3월 24일 질문

1개의 답변

+1 추천
 
채택된 답변

onCreate 에서 Layout들 init 한다음에 프리페어런스에 값을 가져와 버튼 초기셋팅을 하여야할거 같습니다.

각버튼에 클릭이벤트 switch는 선택할때만 변하니 onCreate Layout 설정후 처리해주셔야합니다.

 

jo 님이 2015년 3월 24일 답변
라테님이 2015년 3월 24일 채택됨
init 가 초기화 하란말씀이시죠??
일단 어떻게 하는지 모르겠어서
버튼에 들어가는 코드를 이렇게하면 돌아가겠다 싶어서
붙였는데 널포인트익셉션이 뜨면서 실행시 팅겨버리네요 ㅠㅠ
이거에 대해서 고민좀 해보겠습니다 감사합니다
-onCreate-
// 프리페이런트 설정
SharedPreferences pref = getSharedPreferences("id", mode);
String btnState= pref.getString("btn", "");
// 레이아웃설정
Button btn = (Button) findViewById(R.id.btn1);
if (btnState != null && btnState.equlse("Y")) {
  btn .setEnabled(true);
}
이렇게 이전에 선택한 값을 처음 화면을 생성시 설정해주셔야대영.
감사합니다 덕분에 무사히 처리했습니다!
...