在Android中实现Feed

时间:2014-08-19 06:27:31

标签: java android android-listview hashmap

我想在Android中实现类似feed的结构,从服务器下载一些数据并通过解析以某种形式显示它。

似乎使用Hashmaps可能是关于如何存储它的答案(http://www.vogella.com/tutorials/AndroidListView/article.html)但我无法理解如何从服务器推/拉动态更新它。

任何人都可以了解如何实现Hashmap / listview的动态更新,以便按“刷新”按钮可以用新值更新列表吗?

任何帮助表示赞赏......新来的SO

1 个答案:

答案 0 :(得分:0)

我要给你快速举例说明如何做这件事,

1-首先创建一个可以保存我们数据的类,例如

    public class Feeds {
    String img, title, subtitle;
    long id;

    public Feeds(long id, String img, String title, String subtitle) {
        this.id = id;
        this.img = img;
        this.title = title;
        this.subtitle = subtitle;
    }
    public long getId(){
        return id;
    }
    public String getImg() {
        return img;
    }

    public void setImg(String img) {
        this.img = img;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getSubtitle() {
        return subtitle;
    }

    public void setSubtitle(String subtitle) {
        this.subtitle = subtitle;
    }

}

然后在您的List<Feeds> iconItem = new ArrayList<Feeds>();中创建一个包含activity class类的列表 然后,当您从服务器获取数据时,请执行此操作

iconItem.add(new Feeds(json.getLong("id"), json
                                .getString("img"), json.getString("title"),
                                json.getString("subtitle")));

然后在您的listView adapter constructor添加参数中Context c, List<Feeds> feeds 然后在你的Adapterfeed = feeds.get(position);内的getView中 现在,您可以将所有数据传递到您的视图,例如myTextView.setText(feed.get(position).getTitle());

并更新您的listView只需将新数据添加到List,并通过调用此Adapter

通知mAdapter.notifyDataSetChanged();有新数据