在解析用户Android中从数组中删除字符串?

时间:2016-05-04 21:30:10

标签: java android parse-platform

出于某种原因,我似乎无法弄清楚如何从Parse中的字符串数组中删除字符串。我的Parse User类中有一个数组,我想从中删除一个特定的值。即使在遍历数组并获取我想要删除的确切值时,它也不会在保存后将其删除。我似乎无法让下面的代码工作。有什么傻事我错过了吗?我可以毫无问题地为数组添加值。

    public void removeBtn(View view) {


    ParseUser.getCurrentUser().getList("friendAccept").remove(0);
    ParseUser.getCurrentUser().saveInBackground();


}

3 个答案:

答案 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();


}