2013-02-27 2 views
-1

У меня есть класс предпочтений, что позволяет пользователю включить «подсказки» из настроек приложения:Как проверить/пасс установки статуса

public class Prefs extends PreferenceActivity { 
//Option names and defualt values 
private static final String OPT_HINTS = "hints"; 
private static final boolean OPT_HINTS_DEF = true; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    addPreferencesFromResource(R.xml.settings); 
} 
/**Get the current value of the hints option */ 
public static boolean getHints(Context context) { 
    return PreferenceManager.getDefaultSharedPreferences(context).getBoolean(OPT_HINTS, OPT_HINTS_DEF); 

} 
} 

Файл XML содержит:

<CheckBoxPreference 
    android:key="hints" 
    android:title="@string/hints_title" 
    android:summary="@string/hints_summary" 
    android:defaultValue="true" /> 

Как я могу проверить, если 'подсказки' установлено значение Вкл. Затем, если он установлен в положение «Вкл.», Я хочу разрешить приложению делать определенную вещь.

спасибо за любую помощь

ответ

0

Как я могу проверить, если «подсказки» установлено значение Вкл. Затем, если он установлен в положение «Вкл.», Я хочу разрешить приложению делать определенную вещь.

Используя код просто позвонить:

if(getHints(this)) { 
    // The preference is checked, do something 
} 
else { 
    // The preference isn't checked 
} 

Хотя это может быть проще, чтобы сохранить PreferenceManager.getDefaultSharedPreferences(context) в переменной класса, как вы добавите больше предпочтения.

+0

действительно ли метод getHints должен находиться в том же классе Activity /, из которого он вызван? – user2111061

+0

Я не заметил, что вы хотите, чтобы он был статичным, в этом случае вы должны использовать 'Prefs.getHints (this)', и до тех пор, пока действия имеют общий контекст, вы должны быть в порядке. (Если у вас возникли проблемы с получением значения, попробуйте использовать 'getApplicationContext()'.) – Sam

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