Android - 使用当前设置的首选项初始化变量

时间:2018-01-12 22:08:37

标签: java android open-source

private int mShuffleMode = SharedPreferences.getInt("shufflemode");

告诉我,非静态方法无法从静态上下文中引用。

我不完全确定这意味着什么。

我尝试做的是使用之前设置的首选项初始化变量。

3 个答案:

答案 0 :(得分:0)

getInt()不是您在 SharedPreferences上调用的方法。相反,您可以在SharedPreferences实例上调用它。

  

我尝试做的是使用之前设置的首选项初始化变量。

检索您的SharedPreferences对象,然后在其上调用getInt()。如果您的代码保存SharedPreferences,那么您应该已经可以访问该SharedPreferences个对象,或至少拥有检索它的代码。

有关详情,请参阅the documentation on SharedPreferences

答案 1 :(得分:0)

您无法使用SharedPreferences.getInt("shufflemode");

以静态方式获取数据

你需要做的是创建一个SharedPreference的对象,然后使用SharedPreference sharedPreference = context.getSharedPreferences("name-of-preference",MODE)然后`sharedPreference.getInt(" shufflemode")来查询它。

考虑这个link

答案 2 :(得分:0)

private SharedPreferences sharedPref ;
private int mShuffleMode;
  

onCreate

sharedPref= context.getSharedPreferences("preferences_file_key", Context.MODE_PRIVATE);
mShuffleMode = sharedPref.getInt("shufflemode");