J'ai une colonne arraylist sur l'analyse que je voudrais mettre à jour comme indiqué dans le code suivant. Toutefois, dans la colonne parse, il affiche uniquement "[]" après la mise à jour de la colonne en cliquant sur une sélection d'utilisateurs dans la liste. Merci.Arraylist sur parseserver n'est pas mis à jour
List<String> users = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_alternative_follow);
ListView listView = (ListView)findViewById(R.id.listView);
if (ParseUser.getCurrentUser().getList("isfollowing") == null){
List<String> emptyList = new ArrayList<>();
ParseUser.getCurrentUser().put("isfollowing", emptyList);
ParseUser.getCurrentUser().saveInBackground();
}
listView.setChoiceMode(AbsListView.CHOICE_MODE_MULTIPLE);
final ArrayAdapter<String> arrayAdapterSelected = new ArrayAdapter<String>(getApplicationContext(),
android.R.layout.simple_list_item_checked, users);
listView.setAdapter(arrayAdapterSelected);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
CheckedTextView textview = (CheckedTextView)view;
//CHECK IF TEXTVIEW IS CHECKED
if (textview.isChecked()){
ParseUser.getCurrentUser().getList("isfollowing").add(users.get(position));
ParseUser.getCurrentUser().saveInBackground();
}else{
ParseUser.getCurrentUser().getList("isfollowing").remove(users.get(position));
ParseUser.getCurrentUser().saveInBackground();
}
}
});
users.clear();
ParseQuery<ParseUser> query = ParseUser.getQuery();
query.whereNotEqualTo("username", ParseUser.getCurrentUser().getUsername());
query.findInBackground(new FindCallback<ParseUser>() {
@Override
public String done(List<ParseUser> objects, ParseException e) {
if (e == null) {
if (objects.size() > 0) {
for (ParseUser object : objects) {
users.add(object.getUsername());
}
arrayAdapterSelected.notifyDataSetChanged();
}
}
return null;
}
});
}}