2012-02-26 4 views
0

저는 이틀 동안이 작업을 해왔으며 해결 방법을 전혀 모릅니다.SeekBarPreferences는 시각적으로 변하지 만 바뀌지 않습니다.

기본적으로 ListView의 변경 사항을 BroadcastReceiver를 통해 수신하고 editor.putInt ("SeekBarPreference", value) .commit();을 통해 여러 SeekBarPreferences를 업데이트하는 서비스가 있습니다. 이제 모든 것이 올바르게 작동하지만 올바른 값을 반환하지만 seekbarpreferences를 시각적으로 변경하지는 않습니다. 서비스를 다시 시작한 경우 (뒤로 누르고 관련 옵션을 클릭하면) 올바른 위치로 변경됩니다. 또는 기기를 회전해도 변경됩니다. 내 질문이 맞다. 환경 설정의 '모양'을 수동으로 "새로 고침"할 수있는 방법이 있습니까?

감사합니다.

(여기에 비슷한 질문이 알고 있지만 그들 중 누구도 정말 해결책이 없다)

답변

0

내가 가끔씩 뒤로 물러서는 방식은 활동을 다시 시작하는 것입니다. 현재 활동에 대한 의도를 작성하고 실행하십시오. 두 줄의 코드. 귀하의 문제에 대한 실용적인 솔루션인지는 모르겠지만 여러 가지 상황에서 저에게 도움이되었습니다.

+0

저는 실제로이 작업을 시도했지만 환경 설정 화면이있는 서비스입니다. 서비스를 멈출 수는 있지만 환경 설정 화면을 다시 시작하는 방법을 모르겠습니다. – user1233752

+0

고마워, 나는 지금 일하고있어! – user1233752

0

당신이 invalidate() 또는보기에 requestlayout() 시도해 봤어을?

+0

문제는 레이아웃에없는 것입니다. 모든 슬라이더와 모든 것이 기본 설정 메뉴에 있습니다. – user1233752

+0

getview()를 사용하여 관련보기를 얻을 수 있습니다. – Royi

0

다시 전송 모두에게

를 업데이트하는 방송을 그런 다음 다시

addPreferencesFromResource(...etc. 

을 XML을로드 환경 설정을

PreferenceScreen prefScreen = getPreferenceScreen(); 
     prefScreen.removeAll(); 

을 취소하여 ponSharedPreferenceChanged 리스너에 갱신 seekbars를 얻기 위해 관리 그것은 작동하지만 매우 우아하지 않습니다. 도와 주신 모든 분들께 감사드립니다!

관련 문제