2016-12-14 3 views
0

Мое приложение содержит общие настройки, поэтому в моем «Настройки-меню» я могу выбрать элемент из списка.Как мне получить доступ к значению из моего предпочтения?

В другой Java файл Я хочу доступа значение выбранного элемента.

I не удался пропускание целочисленного значения через умысел, так как число объявлено в частном статичных частном булевом и Android-студия говорит мне, что не может быть refferenced от статического контента.

Итак, как я могу получить свое значение от этого целого? Спасибо заранее.



Edit: firstival, спасибо большое за того, что многие ответы! Но поскольку я не так сильно разбираюсь в java, я не мог следовать вашим инструкциям, поэтому я собираюсь изобразить свою проблему ближе. Я использую шаблон андроидов «Настройки-Активность». В моей strings.xml я получил

<string name="Values">Values</string> 
     <string-array name="pref_example_list_titles"> 
      <item>A</item> 
      <item>B</item> 
      <item>C</item> 
     </string-array> 

     <string-array name="pref_example_list_values"> 
      <item>01</item> 
      <item>02</item> 
      <item>03</item> 
     </string-array> 

В моей SettingsActivity.java

private static Preference.OnPreferenceChangeListener sBindPreferenceSummaryToValueListener = new Preference.OnPreferenceChangeListener() { 

     @Override 
     public boolean onPreferenceChange(Preference preference, Object value) { 
      String stringValue = value.toString(); 

      if (preference instanceof ListPreference) { 

       ListPreference listPreference = (ListPreference) preference; 
       int index = listPreference.findIndexOfValue(stringValue); 


       preference.setSummary(
         index >= 0 
           ? listPreference.getEntries()[index] 
           : null); 
{...} 

В другом файле Java, фрагмент «FirstFragment.java я, наконец, нужно присвоить значение из pref_example_list_values ​​ к новому целого, называется «Vallue2».

Так могли бы вы объяснить мне, как я это делаю, Ьс я не мог следовать за ваше explainations. большое спасибо!

+0

тейк посмотрите: http://stackoverflow.com/questions/3624280/how-to-use-sharedpreferences-in-android-to-store-fetch-and-edit-values. Если все еще неясный пост вы вводите код –

+0

, отправьте код, который вы используете, чтобы передать данные через действия, пожалуйста, –

+0

На самом деле у меня нет кода для передачи данных через действия, вот почему я прошу об этом. – Quacksilber

ответ

0

As per documentation:

SharedPreferences точки объекта в файл, содержащий пары ключ-значение и предоставляет простые методы для чтения и записи их.

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

SharedPreferences preference = yourContext.getSharedPreferences(yourFileName), Context.MODE_PRIVATE 
); 
preference.edit().putString(AN_IDENTIFIER, "aValue").apply(); 

Затем для получения значения:

SharedPreferences preference = yourContext.getSharedPreferences(yourFileName), Context.MODE_PRIVATE 
); 
preference.getString(AN_IDENTIFIER,"a default value to use"); 
+0

При ответе на вопрос, ответьте на него. Не связывайте ответ в другом месте, также обратите внимание, что ваша ссылка не работает. (404 стр.). – Bonatti

+0

, пожалуйста, попробуйте еще раз – xbadal

+0

Могу ли я предложить некоторые улучшения? Я отредактирую ваш ответ, и если вам это не понравится, я отменит его. – Bonatti