【发布时间】:2017-04-29 17:07:04
【问题描述】:
我的应用包含共享偏好,因此在我的“设置-菜单”中,我可以从列表中选择一个项目。
在另一个 java 文件中,我想访问所选项目的值。
我未能通过意图传递整数值,因为整数是在私有静态私有布尔值中声明的,Android Studio 告诉我,它不能从静态内容中引用。
那么我怎样才能从这个整数中获得我的价值呢?在此先感谢 :)。
编辑: firstival,非常感谢这么多答案!但是由于我对 java 的了解不多,所以无法按照您的指示进行操作,因此我将更详细地描述我的问题。
我正在使用 androids 模板“设置-活动”。在我的 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”。
所以请你解释一下,我是怎么做到的,因为我无法理解你的解释。非常感谢!
【问题讨论】:
-
看看:stackoverflow.com/questions/3624280/…。如果仍然不清楚,请发布您的代码
-
请发布您用于通过活动传递数据的代码
-
实际上我没有任何代码可以通过活动传递数据,这就是我要求它的原因。
-
并通过使用:SharedPreferences prefs = this.getSharedPreferences("com.example.app", Context.MODE_PRIVATE);我收到“getsharedpreferences”无法解决的错误
-
请在提问前阅读this (how to ask) 和this (mcve),因为它们将帮助您从社区获得更多更好的答案。
标签: android android-intent integer sharedpreferences