Я пытаюсь использовать ParseQueryAdapter в своем проекте и не имел никакого результата отображения результатов.ParseQueryAdapter, не показывающий результаты
Моя цель - получить данные из ParseUser. Итак, моя модель расширяет ParseUser:
Так что у меня модель:
@ParseClassName("Midwifefirm")
public class Midwifefirm extends ParseUser {
public Midwifefirm() {
// A default constructor is required.
}
//practice name
public String getPracticeName() {
return getString("practicename");
}
public void setPracticeName(String title) {
put("title", title);
}
//education
public String getEducation() {
return getString("education");
}
public void setEducation(String education) {
put("education", education);
}
//years in practice
public String getYearsinPractice() {
return getString("yearsinpractice");
}
public void setYearsinPractice(String yearsinpractice) {
put("yearsinpractice", yearsinpractice);
}
//practice philosophy
public String getPracticePhilosophy() {
return getString("practicephilosophy");
}
public void setPracticePhilosophy(String practicephilosophy) {
put("practicephilosophy", practicephilosophy);
}
Адаптер находится здесь; Я думаю, проблема может быть здесь с моим запросом:
public class CustomMidwifeAdapter extends ParseQueryAdapter<Midwifefirm> {
public CustomMidwifeAdapter(Context context) {
//query using Midwifefirm class, to get list of midwives
super(context, new ParseQueryAdapter.QueryFactory<Midwifefirm>() {
public ParseQuery<Midwifefirm> create() {
ParseQuery query = new ParseQuery("Midwifefirm");
query.whereEqualTo("userType", "midwife");
return query;
}
});
}
@Override
public View getItemView(Midwifefirm midwifefirm, View view, ViewGroup parent) {
if (view == null) {
view = View.inflate(getContext(), R.layout.activity_midwife_result_list, null);
}
//use midwifefirm as item view/list
super.getItemView(midwifefirm, view, parent);
// find in layout the practice name
TextView titleTextView = (TextView) view.findViewById(R.id.practicename);
//in the midwifefirm data model, call getPracticename
titleTextView.setText(midwifefirm.getPracticeName());
// Add education view
TextView EducationView = (TextView) view.findViewById(R.id.education);
EducationView.setText(midwifefirm.getEducation());
// Add yearsexperience view
TextView ExperienceView = (TextView) view.findViewById(R.id.yearsinpractice);
ExperienceView.setText(midwifefirm.getYearsinPractice());
//Add practice philosophy view
TextView PracticePhilosophyView = (TextView) view.findViewById(R.id.practicephilosophy);
PracticePhilosophyView.setText(midwifefirm.getPracticePhilosophy());
return view;
}
}
И вот мой ListView;
public class MidwifeResultList extends ListActivity {
private ParseQueryAdapter<Midwifefirm> mainAdapter;
private CustomMidwifeAdapter midwifeListAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//set display to listview, empty
getListView().setClickable(false);
//initialize main ParseQueryAdapter
mainAdapter = new ParseQueryAdapter<Midwifefirm>(this, Midwifefirm.class);
mainAdapter.setTextKey("practicename");
mainAdapter.setTextKey("education");
mainAdapter.setTextKey("yearsinpractice");
mainAdapter.setTextKey("practicephilosophy");
// Initialize the subclass of ParseQueryAdapter
midwifeListAdapter = new CustomMidwifeAdapter(this);
setListAdapter(mainAdapter);
// Initialize ListView and set initial view to mainAdapter
// listView = (ListView) findViewById(R.id.lvMidwives);
// listView.setAdapter(mainAdapter);
// mainAdapter.loadObjects();
}
}
Возможно, я установил это неправильно. Спасибо за понимание.
Если бы я хотел просто перечислить всех пользователей, у которых есть данные, которые я определил в модели акушерки, как бы указать это в запросе? –
query.whereEqaulTo ("columnName", "yourCriteria"); –