我应该在Android中使用哪种适配器用于JSON?

时间:2014-01-18 23:32:18

标签: java android android-listview android-arrayadapter commonsware-cwac

我正在尝试使用博客中的JSON输出。我从我的WordPress网站上获得了最后10个帖子,我能够在android中成功获取数据并将其设置为TextView。所以我确信我的所有网络都有效。现在,我需要将其作为主要的细节布局。所以在我的主布局中,我想要做的就是列出post_title,在详细信息中我要列出post_content。所以这意味着我必须创建一个适配器。我感到困惑的是,哪种适配器最好用?我不确定我应该使用什么样的物品 下面是我用来获取1个post_titles和post_content的代码。任何人都可以给我任何指示吗?我以为我可以使用ArrayList来保存post_titles,使用另一个arrayList来保存post_content,但是帖子内容可能非常大。我想知道是否有人能指出我正确的方向?

我正在尝试使用cwac-endless adapter以便我可以加载更多博客帖子,但它只是一个包装器。所以我仍然坚持创建我的原始适配器,我仍然不确定如何实现它。

public void parseJson(JsonObject result){
    JsonObject jsonPost = result.getAsJsonArray("posts").get(0).getAsJsonObject();  
    String title = jsonPost.get("title").getAsString();
    String content = jsonPost.get("content").getAsString();
}

2 个答案:

答案 0 :(得分:2)

我建议您使用ArrayAdapter.

你能做的是:

为您的博客输出创建自定义对象。 像这样的东西

public class BlogItem{

private String title;
private String content;
//put getters and setters and all other member functions according to your application
}

然后创建一个BlogItem的适配器。

public class BlogAdapter extends ArrayAdapter<BlogItem> {
}

重写ArrayAdapter的方法,特别是不要忘记覆盖getCount()方法并返回列表中项目的计数总是好的。

看看,如果你有一个这样的自定义对象和arrayadapter,将来,即使你想要扩展,比如说,现在你需要图像(或者更多的文本字段),你可以轻松扩展使用自定义对象。 此外,当您获得JSON响应时,只需将JSONdata放入对象中。

希望这有帮助!

答案 1 :(得分:0)

检查this解答有关ArrayAdapter,CursorAdapterCustomAdapter

的解释