Android 值不是';未保存在SharedReferences中

Android 值不是';未保存在SharedReferences中,android,screen,Android,Screen,我已经在android上创建了一个共享偏好屏幕,以接收从共享偏好屏幕到主屏幕的信息,一切正常,但偏好屏幕中的值没有保存,每次我都必须打开共享偏好屏幕并手动键入信息。。。有没有自动保存首选项的建议 这是共享perefrence代码: Button b1 = (Button)findViewById(R.id.SavePreff); b1.setOnClickListener(new View.OnClickListener() { @Override

我已经在android上创建了一个共享偏好屏幕,以接收从共享偏好屏幕到主屏幕的信息,一切正常,但偏好屏幕中的值没有保存,每次我都必须打开共享偏好屏幕并手动键入信息。。。有没有自动保存首选项的建议

这是共享perefrence代码:

Button b1 = (Button)findViewById(R.id.SavePreff);
        b1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            String ID_NO = ID_NUMBER.getText().toString();
            SharedPreferences prefsExample = getSharedPreferences(PREFS, 0);
            SharedPreferences.Editor editor = prefsExample.edit();
            editor.putString("idNumber", ID_NO);

            if (rd1.isChecked())

                editor.putString("Network", "STC");

            else if (rd2.isChecked())
                editor.putString("Network", "Mobily");

            else 
                editor.putString("Network", "Zain");

            editor.commit();

            Intent i = new Intent(SharedPref.this , MainActivity.class);
            startActivity(i);
        }
    });
这是我使用的主要活动屏幕上的信息:

        b1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            SharedPreferences example = getSharedPreferences(PREFS, 0);
            String ID_NUM = example.getString("idNumber", "123432");
            String NETWORK = example.getString("Network", "STC");
            String called_num = "";

            if (NETWORK.equals("Mobily"))
                called_num = "*1400*" + CODE_CHARGE.getText().toString() + "*"+ ID_NUM+ Uri.encode("#");
            else if (NETWORK.equals("STC"))
                called_num = "*155*" + CODE_CHARGE.getText().toString() + "*"+ ID_NUM+ Uri.encode("#");
            else if (NETWORK.equals("Zain"))
                called_num = "*141*" + ID_NUM + "*"
                        + CODE_CHARGE.getText().toString()+ Uri.encode("#");

            Intent i = new Intent("android.intent.action.CALL");
            Uri data = Uri.parse("tel:" + called_num);
            i.setData(data);
            startActivity(i);
        }
    });

共享的首选项类似于这两个

//example1 for Shared Prefs that lasts forever
example1= PreferenceManager.getDefaultSharedPreferences(this);   
//example for Shared Prefs that lasts only just once each time program is running
example2= getApplicationContext().getSharedPreferences("PREFS", Activity.MODE_PRIVATE);
在代码中,使用

 example1= PreferenceManager.getDefaultSharedPreferences(this); 

希望这对您有用。

尝试使用默认的共享首选项,这为我解决了问题。有任何代码建议吗?请检查我的答案@Abdullahadhai许多建议?我没有GetDefaultSharedReferences();在选项中,我在编写时出错,并且它不允许使用Context。请在
onCreate()
中的
setContentView
之后定义共享首选项。因此,请将代码移动到
onCreate()
SharedReferences preferences=GetDefaultSharedReferences(此选项);无法工作GetDefaultSharedReferences(SharedReferences)方法对于SharedReferences类型是未定义的。它太长了,但是您能给我一个解决方案或任何项目的链接吗??