Is it possible to add an array or object to SharedPreferences on Android

前端 未结 11 1796
别跟我提以往
别跟我提以往 2020-11-22 11:27

I have an ArrayList of objects that have a name and an icon pointer and I want to save it in SharedPreferences. How can I do?

NOTE:

11条回答
  •  南旧
    南旧 (楼主)
    2020-11-22 11:56

    This is the shared preferences code i use successfully, Refer this link:

      public class MainActivity extends Activity {
    
    private static final int RESULT_SETTINGS = 1;
    Button button;
    public String a="dd";
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    
     button = (Button) findViewById(R.id.btnoptions);
    
    
    setContentView(R.layout.activity_main);
    
      // showUserSettings();
      }
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.settings, menu);
    return true;
     }
    
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    
    case R.id.menu_settings:
     Intent i = new Intent(this, UserSettingActivity.class);
     startActivityForResult(i, RESULT_SETTINGS);
     break;
    
     }
    
    return true;
    }
    
    @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data)     {
      super.onActivityResult(requestCode, resultCode, data);
    
     switch (requestCode) {
     case RESULT_SETTINGS:
     showUserSettings();
     break;
    
     } 
    
      }
    
      private void showUserSettings() {
     SharedPreferences sharedPrefs = PreferenceManager
    .getDefaultSharedPreferences(this);
    
     StringBuilder builder = new StringBuilder();
    
     builder.append("\n Pet: "
      + sharedPrefs.getString("prefpetname", "NULL"));
    
     builder.append("\n Address:"
     + sharedPrefs.getString("prefaddress","NULL" ));
    
     builder.append("\n Your name: "
     + sharedPrefs.getString("prefname", "NULL"));
    
     TextView settingsTextView = (TextView) findViewById(R.id.textUserSettings);
    
    
      settingsTextView.setText(builder.toString());
    
    
        }
    
       }
    

    HAPPY CODING!

提交回复
热议问题