我想在Android中实现类似feed的结构,从服务器下载一些数据并通过解析以某种形式显示它。
似乎使用Hashmaps可能是关于如何存储它的答案(http://www.vogella.com/tutorials/AndroidListView/article.html)但我无法理解如何从服务器推/拉动态更新它。
任何人都可以了解如何实现Hashmap / listview的动态更新,以便按“刷新”按钮可以用新值更新列表吗?
任何帮助表示赞赏......新来的SO
答案 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
然后在你的Adapter
做feed = feeds.get(position);
内的getView中
现在,您可以将所有数据传递到您的视图,例如myTextView.setText(feed.get(position).getTitle());
并更新您的listView只需将新数据添加到List
,并通过调用此Adapter
mAdapter.notifyDataSetChanged();
有新数据