出于某种原因,我似乎无法弄清楚如何从Parse中的字符串数组中删除字符串。我的Parse User类中有一个数组,我想从中删除一个特定的值。即使在遍历数组并获取我想要删除的确切值时,它也不会在保存后将其删除。我似乎无法让下面的代码工作。有什么傻事我错过了吗?我可以毫无问题地为数组添加值。
public void removeBtn(View view) {
ParseUser.getCurrentUser().getList("friendAccept").remove(0);
ParseUser.getCurrentUser().saveInBackground();
}
答案 0 :(得分:0)
尝试使用回调来查看在后台保存时它是否真的有所作为:
ParseUser.getCurrentUser().saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
Log.d(TAG, "saved in background");
if (e == null)
//ok
else
//something else went wrong
}
});
答案 1 :(得分:0)
尝试这个,我认为这是因为你没有使用put方法。
ParseUser user = ParseUser.getCurrentUser();
List<Object> list = user.getList("friendAccept");
if(list.size()>0) {
list.remove(0);
}
user.put("friendAccept", list);
user.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
Log.d(TAG, "saved in background");
if (e == null)
//ok
else
//something else went wrong
}
});
答案 2 :(得分:0)
您未能将修改后的数组放回ParseUser。
public void removeBtn(View view) {
ParseUser currentUser = ParseUser.getCurrentUser()
ArrayList<String> myList = (ArrayList<String>) currentUser.getList("friendAccept");
myList.remove(0);
currentUser.put("friendAccept", myList);
currentUser.saveInBackground();
}