Студия Java / Android: цикл For - одни и те же данные отображаются несколько раз - PullRequest
0 голосов
/ 07 мая 2018

Итак, я пытаюсь создать эту страницу, которая сравнивает интерес пользователя с другими пользователями и показывает список всех этих пользователей. Теперь, когда я создал цикл for, имя одного конкретного пользователя повторяется до конца цикла. У меня только одно имя на имя пользователя для отображения в текстовом поле. Однако я не знаю, как это сделать. Вот мой код для отображения пользователей с общими интересами:

 Realm realm= Realm.getDefaultInstance();
        RealmResults<interests> result=realm.where(interests.class).findAll();
        RealmResults<Users> user=realm.where(Users.class).findAll();
     for(int i=0;i<result.size();i++)
            {
                for(int j=0;j<result.size();j++)
                {
                    if(result.get(i).getId().equals(userid))
                    {
                        if(result.get(i).getInterest().equals(result.get(j).getInterest()))
                        {
                            if(!result.get(j).getId().equals(userid)) {
                                users = result.get(j).getId();
                                interestss.append("Interests :" + result.get(i).getInterest());
                            }

                        }
                        id.append("\n"+users);

                    }
                }
            }

1 Ответ

0 голосов
/ 07 мая 2018
 for(int i=0;i<result.size();i++)
        {
            for(int j=0;j<result.size();j++)
            {
                if(result.get(i).getId().equals(userid))
                {
                    if(result.get(i).getInterest().equals(result.get(j).getInterest()))

Я почти на 98% уверен, что вам даже не нужно писать такой код, если вы используете систему запросов Realm и запрос ссылок, вместо того, чтобы зацикливать и сравнивать вещи вручную.

RealmResults<Interests> interests = realm.where(Interests.class)
                                         .equalTo("user.userId", userId)
                                         .findAll();

Что должно быть возможно, если у вас есть обратная ссылка от Интересов для пользователей.

// in Interests class
@LinkingObjects("interest")
private final RealmResults<User> user = null;
...