如何在没有数组键的情况下完成将JSON数组解析为Android中的列表视图

布罗杰

首先,我是android的新手。现在,我正在构建一个学校入学申请。它的功能之一是具有一项功能,可以为学生安排什么时间表。我已经学习了此功能的教程,但仍然无法满足我的需求。我想从JSONArray解析值,然后在ListView中显示值。但这仅给我一个准确的数据。

首先让我从JSON数组开始

JSON Array

[{
"jam_start": "07:30:00",
"jam_end": "08:05:00",
"kegiatan": "Belajar (KBM)",
"mapel": "Seni Budaya Dan Keterampilan",
"nama_guru": "Vina Rosiyanti,S.Pd"
}, {
"jam_start": "08:06:00",
"jam_end": "08:40:00",
"kegiatan": "Belajar (KBM)",
"mapel": "Bahasa Indonesia",
"nama_guru": "Vina Rosiyanti,S.Pd"
}, {
"jam_start": "08:41:00",
"jam_end": "09:15:00",
"kegiatan": "Belajar (KBM)",
"mapel": "Bahasa Indonesia",
"nama_guru": "Vina Rosiyanti,S.Pd"
}, {
"jam_start": "11:01:00",
"jam_end": "11:35:00",
"kegiatan": "Belajar (KBM)",
"mapel": "Komputer",
"nama_guru": "Resi Gusta Arina,S.Pd.Gr"
}, {
"jam_start": "11:36:00",
"jam_end": "12:10:00",
"kegiatan": "Belajar (KBM)",
"mapel": "Komputer",
"nama_guru": "Resi Gusta Arina,S.Pd.Gr"
}, {
"jam_start": "13:01:00",
"jam_end": "13:35:00",
"kegiatan": "Belajar (KBM)",
"mapel": "Ilmu Pengetahuan Alam",
"nama_guru": "Vina Rosiyanti,S.Pd"
}, {
"jam_start": "13:36:00",
"jam_end": "14:10:00",
"kegiatan": "Belajar (KBM)",
"mapel": "Ilmu Pengetahuan Alam",
"nama_guru": "Vina Rosiyanti,S.Pd"
}]

我将开始我的代码

MainActivity.java

        String schedule = response.toString();
        JSONArray array = new JSONArray(schedule);
        String jamMulai = null;
        String jamSelesai = null;
        String kegiatan = null;
        String mapel = null;
        String namaGuru = null;

        for (int i = 0; i < array.length(); i++) {

            JSONObject arrayELement = array.getJSONObject(i);
            mapel = arrayELement.getString("mapel");
            namaGuru = arrayELement.getString("nama_guru");
            kegiatan = arrayELement.getString("kegiatan");
            jamMulai = arrayELement.getString("jam_start");
            jamSelesai = arrayELement.getString("jam_end");

            HashMap<String, String> scheduleDetail = new HashMap<String, String>();
            scheduleDetail.put(mapel, mapel);
            scheduleDetail.put(namaGuru, namaGuru);
            scheduleDetail.put(kegiatan, kegiatan);
            scheduleDetail.put(jamMulai, jamMulai);
            scheduleDetail.put(jamSelesai, jamSelesai);

            scheduleListDetail.add(scheduleDetail);
            scheduleList = (ListView)findViewById(R.id.scheduleList);

            ListAdapter listAdapter = new SimpleAdapter
                    (
                            Schedule.this, scheduleListDetail,
                            R.layout.schedulie_list, new String[]
                            {mapel, namaGuru, kegiatan, jamMulai, jamSelesai},
                            new int[]{R.id.txtNamaPelajaran, R.id.txtNamaGuru, R.id.txtKegiatan, R.id.txtJamMulai, R.id.txtJamSelesai}
                    );

            scheduleList.setAdapter(listAdapter);

        }

而这我得到错误的结果

在此处输入图片说明

这就是我想要的寻找最后一个列表视图

在此处输入图片说明

因此,请帮助我,如何解决此问题,谢谢,如果我的英语不太好,请对不起

此致。

编辑这是我的对象类

Schedule Object
public class ScheduleObject {

private String MataPelajaran;
private String NamaGuru;
private String Kegiatan;
private String JamMulai;
private String JamSelesai;

public String getMataPelajaran() {
    return MataPelajaran;
}

public void setMataPelajaran(String mataPelajaran) {
    MataPelajaran = mataPelajaran;
}

public String getNamaGuru() {
    return NamaGuru;
}

public void setNamaGuru(String namaGuru) {
    NamaGuru = namaGuru;
}

public String getKegiatan() {
    return Kegiatan;
}

public void setKegiatan(String kegiatan) {
    Kegiatan = kegiatan;
}

public String getJamMulai() {
    return JamMulai;
}

public void setJamMulai(String jamMulai) {
    JamMulai = jamMulai;
}

public String getJamSelesai() {
    return JamSelesai;
}

public void setJamSelesai(String jamSelesai) {
    JamSelesai = jamSelesai;
}

}

这是我的适配器类

enter code here
public class ScheduleAdapter extends ArrayAdapter<ScheduleObject> {

private final Context context;
private ArrayList<ScheduleObject> scheduleObjects;

public ScheduleAdapter(Context context, int textViewResourceId, ArrayList<ScheduleObject> scheduleObjects){
    super(context, textViewResourceId, scheduleObjects);
    this.context = context;
    this.scheduleObjects = new ArrayList<ScheduleObject>();
    this.scheduleObjects.addAll(scheduleObjects);
}

private class ViewHolder{
    TextView MataPelajaran;
    TextView NamaGuru;
    TextView Kegiatan;
    TextView JamMulai;
    TextView JamSelesai;
}

@Override
public View getView(int position, View convertView, ViewGroup parent){

    ViewHolder viewHolder = null;

    if(convertView == null){

        LayoutInflater layoutInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = layoutInflater.inflate(R.layout.schedulie_list, null);

        viewHolder = new ViewHolder();
        viewHolder.MataPelajaran = (TextView)convertView.findViewById(R.id.txtNamaPelajaran);
        viewHolder.NamaGuru = (TextView)convertView.findViewById(R.id.txtNamaGuru);
        viewHolder.Kegiatan = (TextView)convertView.findViewById(R.id.txtKegiatan);
        viewHolder.JamMulai = (TextView)convertView.findViewById(R.id.txtJamMulai);
        viewHolder.JamSelesai = (TextView)convertView.findViewById(R.id.txtJamSelesai);
        convertView.setTag(viewHolder);
    }else{
        viewHolder = (ViewHolder)convertView.getTag();
    }

    ScheduleObject scheduleObject = scheduleObjects.get(position);
    viewHolder.MataPelajaran.setText(scheduleObject.getMataPelajaran());
    viewHolder.NamaGuru.setText(scheduleObject.getNamaGuru());
    viewHolder.Kegiatan.setText(scheduleObject.getKegiatan());
    viewHolder.JamMulai.setText(scheduleObject.getJamMulai());
    viewHolder.JamSelesai.setText(scheduleObject.getJamSelesai());

    return convertView;

}

}
AndolaSoft Inc

如下所示进行循环激励后设置适配器

ArrayList<ScheduleObject> allscheduleObjects=new ArrayList<ScheduleObject>();
 for (int i = 0; i < array.length(); i++) {
        JSONObject arrayELement = array.getJSONObject(i);
        ScheduleObject sche_object=new ScheduleObject ();


        sche_object.setMataPelajaran(arrayELement.getString("mapel"));
        sche_object.setNamaGuru(arrayELement.getString("nama_guru"));
        sche_object.setKegiatan(arrayELement.getString("kegiatan"));
        sche_object.setJamMulai(arrayELement.getString("jam_start"));
        sche_object.setJamSelesai(arrayELement.getString("jam_end"));

        allscheduleObjects.add(sche_object);


    }
 scheduleList = (ListView)findViewById(R.id.scheduleList);

        ListAdapter listAdapter = new ScheduleAdapter
                (
                        Schedule.this,
                        R.layout.schedulie_list,allscheduleObjects
                );

        scheduleList.setAdapter(listAdapter);

希望这能解决您的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在没有列表的情况下将 int json 解析为 textview

来自分类Dev

如何在没有数组名称的情况下编码json数组?

来自分类Dev

如何在没有数组名称的情况下编码json数组?

来自分类Dev

如何在没有任何键的情况下在php中读取JSON数组?

来自分类Dev

如何在Android Studio中解析没有数组名称的Json

来自分类Dev

PHP如何在没有数据显示的情况下返回空json数组

来自分类Dev

如何在没有数组的情况下在 UITableView 中显示 UITableView Cell?

来自分类Dev

如何在不循环的情况下使用现有数组值中的动态键映射新数组?

来自分类Dev

Android:如何在不从数组列表中删除数据的情况下清除列表视图?

来自分类Dev

如何在没有任何循环的情况下获取php中的特定键数组

来自分类Dev

在给定列表中查找某些元素的所有索引。在Haskell中不使用数组就可以在小于O(n ^ 2)的情况下完成它吗?

来自分类Dev

没有数组的另一个数组中的Android JSON解析数组

来自分类Dev

在Android中解析没有键的JSON数组

来自分类Dev

如何在没有引用和JSON解析/字符串化的情况下在节点中复制数组

来自分类Dev

如何在没有额外键的情况下在循环中创建数组对象?

来自分类Dev

没有数组名称的Android json解析

来自分类Dev

没有数组名称的Android json解析

来自分类Dev

如何在没有键的情况下解析 JSON 文件?

来自分类Dev

如何在Python 3中没有for循环的情况下访问数组列表中的第一项?

来自分类Dev

如何在没有中间模型类的情况下将列表绑定到视图?

来自分类Dev

如何在Android中解析没有JSON对象标题的JSON数组?

来自分类Dev

如何在没有完整路径的情况下将值添加到JSON数组?

来自分类Dev

没有数组函数的情况下如何从数组输出唯一值?

来自分类Dev

在spark RDD中没有数组数组的情况下正常打印数据

来自分类Dev

如何在没有for循环的情况下在python列表/数组上迭代执行操作?

来自分类Dev

如何在没有正确索引的情况下发送数组/列表的表单值?

来自分类Dev

如何在不知道键的情况下基于键动态将嵌套的Json对象/数组转换为多个列表

来自分类Dev

我如何编写没有数组名称的Android Json解析

来自分类Dev

如何在没有数组和循环的情况下仅打印 preg_match_all 中第 2 组的值

Related 相关文章

  1. 1

    如何在没有列表的情况下将 int json 解析为 textview

  2. 2

    如何在没有数组名称的情况下编码json数组?

  3. 3

    如何在没有数组名称的情况下编码json数组?

  4. 4

    如何在没有任何键的情况下在php中读取JSON数组?

  5. 5

    如何在Android Studio中解析没有数组名称的Json

  6. 6

    PHP如何在没有数据显示的情况下返回空json数组

  7. 7

    如何在没有数组的情况下在 UITableView 中显示 UITableView Cell?

  8. 8

    如何在不循环的情况下使用现有数组值中的动态键映射新数组?

  9. 9

    Android:如何在不从数组列表中删除数据的情况下清除列表视图?

  10. 10

    如何在没有任何循环的情况下获取php中的特定键数组

  11. 11

    在给定列表中查找某些元素的所有索引。在Haskell中不使用数组就可以在小于O(n ^ 2)的情况下完成它吗?

  12. 12

    没有数组的另一个数组中的Android JSON解析数组

  13. 13

    在Android中解析没有键的JSON数组

  14. 14

    如何在没有引用和JSON解析/字符串化的情况下在节点中复制数组

  15. 15

    如何在没有额外键的情况下在循环中创建数组对象?

  16. 16

    没有数组名称的Android json解析

  17. 17

    没有数组名称的Android json解析

  18. 18

    如何在没有键的情况下解析 JSON 文件?

  19. 19

    如何在Python 3中没有for循环的情况下访问数组列表中的第一项?

  20. 20

    如何在没有中间模型类的情况下将列表绑定到视图?

  21. 21

    如何在Android中解析没有JSON对象标题的JSON数组?

  22. 22

    如何在没有完整路径的情况下将值添加到JSON数组?

  23. 23

    没有数组函数的情况下如何从数组输出唯一值?

  24. 24

    在spark RDD中没有数组数组的情况下正常打印数据

  25. 25

    如何在没有for循环的情况下在python列表/数组上迭代执行操作?

  26. 26

    如何在没有正确索引的情况下发送数组/列表的表单值?

  27. 27

    如何在不知道键的情况下基于键动态将嵌套的Json对象/数组转换为多个列表

  28. 28

    我如何编写没有数组名称的Android Json解析

  29. 29

    如何在没有数组和循环的情况下仅打印 preg_match_all 中第 2 组的值

热门标签

归档