我在Parse.com有两个课程

1-称为HospitalAppointment,具有约会列表,每个对象具有(AppointmentDate(date),DoctorFile(pointer(to class Doctors))和其他...)

2-类称为Doctor(具有医生名称(字符串),ID .....其他信息)

我在android studio中有2个java类

1-我在该课程中的主要活动我查询HospitalAppointment类

    ParseQuery<ParseObject> doctors = ParseQuery.getQuery("HospitalAppointment");
    doctors.whereEqualTo("AppointmentDate",startDate);
     doctors.findInBackground(new FindCallback<ParseObject>() {
        @Override
        public void done(List<ParseObject> status, com.parse.ParseException e) {
            if (status == null) {
                 Log.d("score", "no doctor available: ");
            } else {
                mStatus = status;
                DoctorAdapter adapter = new DoctorAdapter(getListView().getContext(), mStatus);
                setListAdapter(adapter);
            }
        }
    });


在我为listview编写函数的DoctorAdapter活动中就是问题

public class DoctorAdapter extends ArrayAdapter<ParseObject> {
protected Context mContext;
protected List<ParseObject> mStatus;

public DoctorAdapter(Context context, List<ParseObject> status) {
    super(context, R.layout.doctor_listadapter, status);
    mContext = context;
    mStatus = status;
}


//getview used to inflate each row
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
    ViewHolder holder;
    if (convertView == null) {
        convertView = LayoutInflater.from(mContext).inflate(
                R.layout.doctor_listadapter, null);
        holder = new ViewHolder();//create new view
        holder.mDocName = (TextView) convertView.findViewById(R.id.doctorName);//very imp to convertview
         holder.mDocId = (TextView) convertView.findViewById(R.id.doctorId);

        convertView.setTag(holder);//holder as parameter
    } else {
        holder = (ViewHolder) convertView.getTag();

    }

    ParseObject statusObject = mStatus.get(position);//postition of that row


    ParseObject getDoctorID = statusObject.getParseObject("DoctorName");
    String docId= getDoctorID.getObjectId();
    holder.mDocId.setText(docId);


    *// here is the problem I cannot retrive the Pointer data like Doctor name*


    return convertView;
}

public static class ViewHolder {

     TextView mDocId;
    TextView mDocName;
}}


我检索了对象ID,但是指针中的问题我无法从指针中获取任何数据,我尝试使用查询方法,将类名称为“医生”,并且确实找到了“医生的ID以获取他的名字,但是它不起作用

和我尝试做Parse对象,我得到这个对象,但还是行不通?

我希望你能帮帮我

最佳答案

这样尝试

ParseObject hospitalAppointment = mStatus.get(position);//postition of that row

ParseObject doctor  = hospitalAppointment.getParseObject("columnName");
doctor.fetchIfNeededInBackground(new GetCallback<ParseObject>() {
    public void done(ParseObject doctor, ParseException e) {
        String docId= doctor.getObjectId();
      // Do something with your new title variable
    }
});

10-06 13:48
查看更多