Добавьте двух пользователей для разбора объекта и запроса

StackOverflow https://stackoverflow.com//questions/25006202

  •  20-12-2019
  •  | 
  •  

Вопрос

Я хочу создать объект разбора с двумя пользователями и запросить объект, используя оба пользователя.My Get другой пользователь возвращает другой пользователь, который я хочу добавить в группу.

String id;
final ParseUser[] user = new ParseUser[1];

public void getOtherUser()
{
    ParseQuery<ParseUser> query = ParseUser.getQuery();
    query.whereEqualTo("username", "amanda");
    query.findInBackground(new FindCallback<ParseUser>() {
        public void done(List<ParseUser> objects, ParseException e) {
            if (e == null) {
                user[0] = objects.get(0);
                addUserGroup();

            } else {
                // Something went wrong.
            }
        }
    });
}
.

Моя добавление группы создана объект разбора как пользователей

private void addUserGroup()
{
    final ParseObject group = new ParseObject("UserGroup");
    group.put("from", ParseUser.getCurrentUser());
    group.put("to", user[0]);
    group.saveInBackground((new SaveCallback() {
        public void done(ParseException e) {
            id = group.getObjectId();
        }
    }));

}
.

После того, как Ive сделал это, я хочу иметь возможность обновить объект разбора новым контентом и запросом для объекта на основе обоих пользователей.Следующий Mehtod нарушает меня, хотя и я не уверен, почему.

 private void getData()
{
    final double[] result = {0};
    ParseQuery<ParseObject> query = ParseQuery.getQuery("UserGroup");
    query.whereEqualTo("from",ParseUser.getCurrentUser() );
    query.whereEqualTo("to", user);
    query.findInBackground(new FindCallback<ParseObject>() {
        public void done(List<ParseObject> commentList, ParseException e) {
            Log.d("found", "woohoo");
        }
    });
.

Возвращая следующую ошибку java.lang.illegalargumentException: неверный тип для parseObject: класс [lcom.parse.parleuser;

Никто знает, почему это может происходить?

Это было полезно?

Решение

При вызове parseuser.getcurrentUser () Parse return return recture объект пользователя.Теперь предполагая, что вы хотите запросить имена пользователей, вам нужно изменить Parseuser.getCurrentUser () в Parseuser.getCurrentUser (). GetUsername ()

private void addUserGroup()
{
    final ParseObject group = new ParseObject("UserGroup");
    group.put("from", ParseUser.getCurrentUser().getUsername());
    group.put("to", user[0]);
    group.saveInBackground((new SaveCallback() {
        public void done(ParseException e) {
            id = group.getObjectId();
        }
    }));

}

private void getData() 
{ 
    final double[] result = {0};
    ParseQuery<ParseObject> query = ParseQuery.getQuery("UserGroup");
    query.whereEqualTo("from",ParseUser.getCurrentUser().getUsername() );
    query.whereEqualTo("to", user);
    query.findInBackground(new FindCallback<ParseObject>() {
        public void done(List<ParseObject> commentList, ParseException e) {
            Log.d("found", "woohoo");
        } 
    }); 
}
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top