2010-12-31 6 views
0

나는 안드로이드 홈 화면 응용 프로그램 위젯에서 일하고있다.위젯의 여러 인스턴스에 대해 하나의 기본 활동을 사용하는 방법은 무엇입니까?

위젯에 환경 설정을 추가하려고합니다. 나는 여러 위젯을 넣을 수있다. 하지만 나는 동적으로 생성 된 공유 환경 설정을 사용하여 환경 설정을 구성하려고합니다.

sharedpreference에서 값을 가져 와서 업데이트하는 리소스 파일에서 환경 설정을로드하는 방법은 무엇입니까?

의견이 있으십니까?

답변

0

아마도 어쩌면 파일 시스템의 어딘가에 자신의 환경 설정 시스템을 작성하려고 시도했을 것입니다. 그냥 제안

3

문제의 열쇠는 어떻게 든 참조로 PreferenceActivity에 저장된 설정을 사용하고 자신의 설정을 만드는 것입니다. 아래는 하나의 PreferenceActivity가있는 앱 위젯의 여러 인스턴스에 여러 설정을 적용하는 데 사용했던 것입니다.

private void onExitPreferenceActivity(Context context, int appWidgetId) { 
    // Load the user selected settings saved by PreferenceActivity 
    final String SETTING_PREFIX = "COLOR"; 
    final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); 
    final String colorSetting = prefs.getString(SETTING_PREFIX, ""); 
    // Save the setting of the current widget with widget ID as the postfix 
    final SharedPreferences.Editor prefEditor = prefs.edit(); 
    prefEditor.putString(SETTING_PREFIX + String.valueOf(appWidgetId), colorSetting); 
    prefEditor.commit(); 
} 

private void onLoadingWidgetSetting(Context context, int appWidgetId) { 
    // Load the setting of a particular widget given a widget ID 
    final String SETTING_PREFIX = "COLOR"; 
    final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); 
    final String colorSetting = prefs.getString(SETTING_PREFIX + String.valueOf(appWidgetId), ""); 
    // Use the loaded setting 
    // .... 
} 
관련 문제