Android 共享首选项错误
我有一项活动,比如:Android 共享首选项错误,android,sharedpreferences,Android,Sharedpreferences,我有一项活动,比如: public class LogoActivity extends Activity{ SharedPreferences data = getSharedPreferences("la",MODE_PRIVATE); protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activi
public class LogoActivity extends Activity{
SharedPreferences data = getSharedPreferences("la",MODE_PRIVATE);
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_logo);
SharedPreferences.Editor editor = data.edit();
for(int i=0;i<5;i++){
ImageAdapter.items[i] = data.getInt(Integer.toString(i),0);
}
name = Names.forDrawable(id);
check.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
a=name.isCorrect(text.getText().toString());
if(a==true){
ImageAdapter.items[LogoSelectionActivity.pos] = 1;
Intent intent = new Intent(LogoActivity.this, CorrectActivity.class);
intent.putExtra ("clicked_position", LogoSelectionActivity.pos);
startActivity(intent);
}
else{
incorrect.setVisibility(0);
}
}
});
for(int i = 0;i<5;i++){
editor.putInt(Integer.toString(i),ImageAdapter.items[i]);
}
editor.commit();
back.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(LogoActivity.this, LogoSelectionActivity.class);
startActivity(intent);
}
});
}
}
公共类LogoActivity扩展活动{
SharedPreferences数据=获取SharedPreferences(“la”,模式\私人);
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_徽标);
SharedReferences.Editor=data.edit();
对于(int i=0;i将代码更改为:
public class LogoActivity extends Activity{
SharedPreferences data ; //<<< declare here
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
data = this.getSharedPreferences("la",MODE_PRIVATE); //<<initialize data here
setContentView(R.layout.activity_logo);
//...your code here
公共类LogoActivity扩展活动{
SharedReferences数据;//将代码更改为:
public class LogoActivity extends Activity{
SharedPreferences data ; //<<< declare here
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
data = this.getSharedPreferences("la",MODE_PRIVATE); //<<initialize data here
setContentView(R.layout.activity_logo);
//...your code here
公共类LogoActivity扩展活动{
共享参考数据//
在全局中声明共享首选项,并在OnCreate()中获取它们,如下所示
SharedReferences数据;
全局
再创造
data= getSharedPreferences("la",MODE_PRIVATE);
在全局中声明共享首选项,并在OnCreate()中获取它们,如下所示
SharedReferences数据;
全局
再创造
data= getSharedPreferences("la",MODE_PRIVATE);
实际上,您的建议消除了错误。应用程序运行,但它不读取阶段。它从默认值开始。是否有任何特定行需要我读取或写入这些阶段?@ocry:首先使用SharedReferences.contains方法确保您要查找的密钥存在于SharedReferences中,然后访问它,如果不存在,则访问它在SharedReferences中添加了键值实际上,您的建议消除了错误。应用程序运行,但它不读取阶段。它从默认值开始。是否有任何特定行需要我读取或写入这些阶段?@ocry:首先确保使用SharedReferences.contains的SharedReferences中存在您要查找的键值方法然后访问它,如果不存在,则在SharedReferences中添加键值