Использование RedditAPI Я пытаюсь отобразить сообщения в виде списка, но в списке отображается ссылка на объект - PullRequest
0 голосов
/ 15 апреля 2020

Итак, я пытаюсь передать redditposts в ArrayList и отобразить их. Я преобразовал строку JSON и получил класс redditpost. Но когда я добавляю их в ArrayList, я получаю только ссылку на объект.

Класс redditPost выходит из класса reddithelper и преобразует строку сына в строку

Я очень плохо знаком с java и android, поэтому, если я не понимаю ваш ответ, пожалуйста, будь терпелив со мной

Ответы [ 2 ]

0 голосов
/ 15 апреля 2020

ArrayAdapter ожидает, что вызов toString() для элемента списка вернет отображаемый заголовок. Поэтому либо переопределите toString() в вашем классе элементов, либо передайте List<String>.

Переопределить toString():

public class RedditPost {

    public String id;
    public String title;
    public String url;

    public RedditPost(String id,String title, String url){
        this.id = id;
        this.title = title;
        this.url = url;
    }

    @Override
    public String toString() {
         return this.title;
    }
}

Преобразовать список в List<String>:

public void setarraylist(){
    string json = JsonString
    ArrayList<RedditPost> posts = RedditPostHelper.getRedditPostsFromJSON(json);
    Posts_Array_List.clear();
    for (RedditPost post : posts) {
         Posts_Array_List.add(post.title);
    }
}

И, конечно, измените тип Posts_Array_List на ArrayList<String>, а адаптер на ArrayAdapter<String>

0 голосов
/ 15 апреля 2020

Просто обновите ваш класс следующим образом.

public class RedditPost {

    public String id;
    public String title;
    public String url;

    public RedditPost(String id,String title, String url){
        this.id = id;
        this.title = title;
        this.url = url;
    }



    @Override
    public String toString() {
    return this.title;          
    }


}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...