2011-01-18 3 views
0

Я создал живые обои и в нем есть кнопка «настройки», которая загружает PreferenceActivity, но не нажимает «настройки», но я хочу получить доступ к SharedPreferences в подклассе Engine или WallpaperService. Поскольку я просто хочу получить доступ к маленькой отдельной строке, поэтому я не хочу, чтобы пользователь входил в настройки и получал доступ к этой строке. Поэтому я хочу, чтобы выполнить этот код в Подкласс Engine или WallpaperSerivceНастройки доступа в живые обои

SharedPreferences mPrefs = getPreferenceManager().getSharedPreferences(); 
String option = mPrefs.getString(
this.getResources().getString(R.string.name), 
this.getResources().getString(R.string.option)); 

ответ

0

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

private int mySetting = defaultvalue     

public int getMySetting() { 
     return mySetting; 
} 

public void setMySetting(int mySetting) { 
     this.mySetting = mySetting; 
} 

я, очевидно, использовал некоторые простой текст в этом коде, но, надеюсь, это довольно очевидно explanitory

Вы можете установить эту переменную в Настройки класса с ...

Settings.this.setMySetting(value); 

Удалить «это» для звонков из других классов

Вы можете удалить эту информацию на любом из ваших классов, используя следующие

Settings.getMySetting(); 

Вы можете использовать практически любой тип переменной, просто убедитесь, что вы определяете переменную mySetting как этот тип, прежде чем пытаться передать значение, отличное от int, как в этом примере. Надеюсь, это поможет.

Смежные вопросы