我将如何在 listView 中设置我的名称参数。
乍看上去。的第三个参数ArrayAdapter应该是集合,但您只传递简单的字符串。根据你JSON我推荐你:
- 创建自己的对象,该对象将代表具有属性(姓名、年龄等)的人
- 解析JSON并创建人员集合
- 将集合设置为 ListAdapter
例子:
public class Person {
    private String name;
    ...
    // getters and setters
    @Override
    public String toString() {
       return this.name;
    }
}
然后,您需要解析JSON并获取正确的数据:
List<Person> persons = new ArrayList<Person>();
Person person = null;
JSONObject root = new JSONObject(sourceString);
JSONArray appointments = root.getJSONArray("Appointments");
JSONObject child = null;
for (int i = 0; i < appointments.length(); i++) {
   child = appointments.getJSONObject(i);
   if (child != null)
      person = new Person();
      person.setName(child.getString("Name"));
      persons.add(person);
   }
}
然后初始化ListAdapter:
new ArrayAdapter<String>(getActivity(), layout, persons);
现在你明白了。
笔记:
我覆盖toString()方法的原因是,由于您使用带有内置 Android 布局的默认 ArrayAdapter,因此 List 中的每个对象都将转换为 String 并显示在 ListView 中,但如果我不覆盖toString()它,它将不会返回人的名称,但对象的字符串表示是人类不可读的字符串。