【问题标题】:ArrayAdapter for JSONArray?JSONArray 的 ArrayAdapter?
【发布时间】:2016-11-07 18:48:07
【问题描述】:

我正在尝试为自定义 JSONArray 创建一个 ArrayAdapter。 我没有找到任何可以使用的教程。 该应用程序正在从 WordPress 获取数据。它正在获取所有帖子,班级被填满,但我不知道如何将班级显示到列表中。 它被声明为private Posts[] mPosts; 所以帖子数组被解析成一个帖子对象数组; 我在activity_main 中声明了一个列表,我有一个用于不同对象的row.xml。剩下的就是arrayadapter,我似乎做不到。 我可以发布 MainActivity 和 XML 文件,但是帖子太长了。

Posts.class

public class Posts {

private String mId;
private String mDate;
private String mTitle;
private String mContent;
private String mCategories;


public String getId() {
    return mId;
}

public void setId(String id) {
    mId = id;
}

public String getDate() {
    return mDate;
}

public void setDate(String date) {
    mDate = date;
}

public String getTitle() {
    return mTitle;
}

public void setTitle(String title) {
    mTitle = title;
}

public String getContent() {
    return mContent;
}

public void setContent(String content) {
    mContent = content;
}

public String getCategories() {
    return mCategories;
}

public void setCategories(String categories) {
    mCategories = categories;
}

【问题讨论】:

  • 使用this通用适配器
  • 只需创建适配器类并使用 ArrayAdapter 进行扩展。并覆盖 GetView() 方法

标签: android json wordpress android-arrayadapter


【解决方案1】:

ArrayAdapter 无法适配JSONArray,因为JSONArray 不是Java 数组([] 表示法)并且没有实现java.util.List 接口。

欢迎您创建a subclass of BaseAdapter that handles JSONArray

【讨论】:

  • 我确实看到了这个问题,我试图模仿它,但是因为我的数组中充满了自定义 JSONObject,我无法获取我的 Posts.class 的参数,因为它不是 JSONObject.getString (), 我需要做 Posts.getTitle();而且我无法将帖子移至 Adapter 类。
  • @lakimens:将您的JSONArray 转换为ArrayList<Posts> 并使用ArrayAdapter,或删除Posts 并直接将JSONArray 与自定义BaseAdapter 一起使用。或者,更好的是,使用更好的 JSON 解析器(例如 Gson),这样一开始就没有 JSONArray
  • 我的错,我没有 JSONArray,我有一个 JSONObjects 数组(Posts.class),它是一个 java 数组(mPosts[]),不是 JSONArray,我还没有虽然做了适配器。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-06-09
  • 2017-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多