Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 共享首选项错误_Android_Sharedpreferences - Fatal编程技术网

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中添加键值