简体   繁体   English

关闭并重新打开应用程序时,在共享首选项中保存的数据未显示吗?

[英]When close and reopen app saved data in sharedpreferences not showing?

I am saving data in android by using sharedpreferences in android. 我通过使用android中的sharedpreferences在android中保存数据。

I am able to save data sucessfully, but i don't know if close app and reopen saved data is not displaying. 我能够成功保存数据,但是我不知道是否关闭应用程序并重新打开保存的数据不会显示。

My code: 我的代码:

   public class MainActivity extends Activity {

EditText editText;
Button button;
Button button1;
TextView text;
public static final String mypreference = "MY_PREFS_NAME";
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    editText = (EditText) findViewById(R.id.editText);
    button = (Button) findViewById(R.id.button);
    button1 = (Button) findViewById(R.id.button2);
    text = (TextView) findViewById(R.id.textView);
    button.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {

            SharedPreferences shared = getSharedPreferences(mypreference, MODE_PRIVATE);
            SharedPreferences.Editor editor = shared.edit();
            editor.putString("mn",editText.getText().toString());
            editor.commit();

            SharedPreferences prefs = getSharedPreferences(mypreference, MODE_PRIVATE);
            String ap = prefs.getString("mn","");
            text.setText(ap);




        }

    });

You are doing this inside onClick 您正在onClick内执行此操作

SharedPreferences prefs = getSharedPreferences(mypreference, MODE_PRIVATE);
String ap = prefs.getString("mn","");
text.setText(ap);

So it will not do it automatically onLoad the next time. 因此,下次将不会自动在onLoad上执行此操作。 If you want to do that, you might move these lines in your onCreate method outside the clickListener implementation as shown below. 如果要这样做,可以将这些行的onCreate方法中的这些行移到clickListener实现之外,如下所示。

 SharedPreferences prefs = getSharedPreferences(mypreference, MODE_PRIVATE);
 String ap = prefs.getString("mn","");
 text.setText(ap);
 button.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View view) {

        SharedPreferences shared = getSharedPreferences(mypreference, MODE_PRIVATE);
        SharedPreferences.Editor editor = shared.edit();
        editor.putString("mn",editText.getText().toString());
        editor.commit();

        SharedPreferences prefs = getSharedPreferences(mypreference, MODE_PRIVATE);
        String ap = prefs.getString("mn","");
        text.setText(ap);

    }

});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM