使用Gson在Android中使用JSON到ListView

使用Gson在Android中使用JSON到ListView,第1张

概述我正在尝试将json结果放入我的 Android应用程序中的ListView中. 这是我的Json: [ { "Result": "8:30,21", "Meeting": "Antwerp Olympics", "Event": "3000m", "Date": "30/05/2013" }, { 我正在尝试将Json结果放入我的 Android应用程序中的ListVIEw中.

这是我的Json:

[    {        "Result": "8:30,21","Meeting": "Antwerp olympics","Event": "3000m","Date": "30/05/2013"    },{        "Result": "008,32","Event": "Long Jump",{        "Result": "6,35","Event": "High Jump",{        "Result": "5,00","Event": "discus Throw","Date": "30/05/2013"    }]

这是我的AndroID代码

Gson gson = new Gson();Result[] res = gson.fromJson(results,Result[].class);ListVIEw lv1 = (ListVIEw) getVIEw().findVIEwByID(R.ID.sampleListVIEw);String[] values = new String[] { }; //valuesArrayAdapter<String> files = new ArrayAdapter<String>(getActivity(),androID.R.layout.List_content,values);lv1.setAdapter(files);

通过GSON获得Json结果,我用一个简单的Json做到了.现在我不知道如何在ListvIEw中实现这个JsON结果.我应该如何填充String []值?

提前致谢

解决方法 创建一个Class named EventEntity或您的选择

import com.Google.gson.annotations.Serializedname;public class EventEntity{    @Serializedname("Result")    public int Result;    @Serializedname("Meeting")    public String Meeting;    @Serializedname("Event")    public String Event;    @Serializedname("Date")    public String Date;    public EventEntity()    {}}

并将ListvIEw数据绑定代码更改为此

ListVIEw lv1 = (ListVIEw) getVIEw().findVIEwByID(R.ID.sampleListVIEw);Gson gson = new Gson();List<EventEntity> events = (List<EventEntity>) gson.fromJson(results,new Typetoken<EventEntity>>() {}.getType());ArrayAdapter<EventEntity> files = new ArrayAdapter<EventEntity>(..........);lv1.setAdapter(files);

编辑,
您应该创建自定义适配器类和行布局

public class MyCustomAdapter extends ArrayAdapter<EventEntity> {  private final List<EventEntity> List;  private final Activity context;  public MyCustomAdapter (Activity context,List<EventEntity> List) {    super(context,R.layout.rowlayout,List);    this.context = context;    this.List = List;  }  static class VIEwHolder {    protected TextVIEw eventTitle;    protected TextVIEw eventDate;  }  @OverrIDe  public VIEw getVIEw(int position,VIEw convertVIEw,VIEwGroup parent) {    VIEw vIEw = null;      LayoutInflater inflator = context.getLayoutInflater();      vIEw = inflator.inflate(R.layout.rowlayout,null);      final VIEwHolder vIEwHolder = new VIEwHolder();      vIEwHolder.eventTitle = (TextVIEw) vIEw.findVIEwByID(R.ID.label);      vIEwHolder.eventDate = (TextVIEw) vIEw.findVIEwByID(R.ID.date);      vIEw.setTag(vIEwHolder);     VIEwHolder holder = (VIEwHolder) vIEw.getTag();     holder.eventTitle.setText(List.get(position).Event);     holder.eventDate.setText(List.get(position).Date);     return vIEw;}
总结

以上是内存溢出为你收集整理的使用Gson在Android中使用JSON到ListView全部内容,希望文章能够帮你解决使用Gson在Android中使用JSON到ListView所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1129899.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存