以下のコードは複数の選択された連絡先を取得してArrayListの形式で格納しますが、アプリケーションを閉じて選択した連絡先リストを開くと、アプリを閉じて開くと、データが削除されるまでデータが保持されます。誰も共有の設定を使用してArrayListの値を格納するのを助けてください。sharedpreferenceを使用してArrayList値のセットを格納する方法
private void chooseContact() {
Intent intentContactPick = new Intent(MainActivity.this,ContactsPickerActivity.class);
MainActivity.this.startActivityForResult(intentContactPick,CONTACT_PICK_REQUEST);
}
@Override
public void onActivityResult(int requestCode,int resultCode,Intent data){
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == CONTACT_PICK_REQUEST && resultCode == RESULT_OK){
ArrayList<Contact> selectedContacts = data.getParcelableArrayListExtra("SelectedContacts");
String display="";
for(int i=0;i<selectedContacts.size();i++){
display += (i+1)+". "+selectedContacts.get(i).toString()+"\n";
}
contactsDisplay.setText("Selected Contacts : \n\n"+display);
}
}
}
以下のコードは、選択された連絡先の値を保持するのArrayListです。
ArrayList<Contact> selectedContacts = data.getParcelableArrayListExtra("SelectedContacts");
プリミティブデータ型のみをSharedPreferencesに保存できます...しかし、あなたはGsonライブラリを使ってSharedPreferencesにArrayListを格納することができます –
SharedPreferencesではなくデータを格納するためにデータベースを使用します –
[Create ArrayList to SharedPreferences](http://stackoverflow.com/questions/7057845/save-arraylist-to-sharedpreferences) –