所以我试图检索存储在Parse中的PrescriptionArray列中的值,这是一个数组。然后我想在ListView lvPrescriptions中显示这些值。任何帮助将不胜感激!!
ParseQuery<ParseObject> query = ParseQuery.getQuery("PrescriptionObject");
query.whereEqualTo("MedicalID", etMedicalID.getText().toString());
query.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> prescriptionList, ParseException e) {
if (e == null) {
final List<String> arrayprescription = new ArrayList<String>();
for (int i = 0; i < prescriptionList.size(); i++) {
ParseObject p = prescriptionList.get(i);
if (p.getList("PrescriptionArray") != null) {
arrayprescription.addAll(Arrays.asList("PrescriptionArray"));
ArrayAdapter adapter = new ArrayAdapter(PrescriptionsArrayActivity.this, android.R.layout.simple_list_item_1, arrayprescription);
lvPrescriptions.setAdapter(adapter);
}
答案 0 :(得分:0)
尝试在解析查询之外移动listview和适配器的设置,然后将每个项目添加到适配器。另外,不知道为什么要在查询中创建/设置列表。
ffprobe input.mp4
答案 1 :(得分:0)
public void done (List < ParseObject > prescriptionList, ParseException e){
if (e == null) {
final List<String> arrayprescription = new ArrayList<String>();
for (ParseObject p : prescriptionList) {
if (p.getList("PrescriptionArray") != null) {
for(Prescription prescriptionObject: p.getList("PrescriptionArray")) {
arrayprescription.add(prescriptionObject.getPropertyName());
}
}
}
ArrayAdapter adapter = new ArrayAdapter(PrescriptionsArrayActivity.this, android.R.layout.simple_list_item_1, arrayprescription);
lvPrescriptions.setAdapter(adapter);
}
}
请注意,PrescriptionArray
应该包含一个对象列表,您可以使用该对象的getter方法访问其属性(或者如果它是Json则直接获取属性),然后因为您使用的是ArrayAdapter而不是创建您自己的,必须用String
个对象填充ArrayAdapter数据。