【发布时间】:2018-01-12 22:08:36
【问题描述】:
private int mShuffleMode = SharedPreferences.getInt("shufflemode");
告诉我不能从静态上下文中引用非静态方法。
我不完全确定这意味着什么。
我正在尝试使用之前设置的首选项初始化变量。
【问题讨论】:
标签: java android open-source
private int mShuffleMode = SharedPreferences.getInt("shufflemode");
告诉我不能从静态上下文中引用非静态方法。
我不完全确定这意味着什么。
我正在尝试使用之前设置的首选项初始化变量。
【问题讨论】:
标签: java android open-source
getInt() 不是您在 类 SharedPreferences 上调用的方法。相反,您在SharedPreferences 的instance 上调用它。
我正在尝试使用之前设置的首选项初始化变量。
检索您的SharedPreferences 对象,然后调用getInt()。如果您有保存SharedPreferences 的代码,您应该已经可以访问该SharedPreferences 对象,或者至少有用于检索它的代码。
请参阅the documentation on SharedPreferences 了解更多信息。
【讨论】:
您无法使用SharedPreferences.getInt("shufflemode");以静态方式获取数据
您需要做的是创建一个SharedPreference 的对象,然后使用SharedPreference sharedPreference = context.getSharedPreferences("name-of-preference",MODE) 查询它,然后使用`sharedPreference.getInt("shufflemode")
考虑一下link
【讨论】:
private SharedPreferences sharedPref ;
private int mShuffleMode;
在你的
onCreate
sharedPref= context.getSharedPreferences("preferences_file_key", Context.MODE_PRIVATE);
mShuffleMode = sharedPref.getInt("shufflemode");
【讨论】: