У меня есть ListView, и я использую Parse.com для данных, я использую ParseQueryAdapter для накачки ListView. Но я не вижу, чтобы данные извлекались адаптером.ParseQueryAdapter не извлекает элементы
вот мой код ..
public class MainActivity extends ActionBarActivity {
private ArrayList<Date> dateHeaders;
private HashMap<Date,ArrayList<Sessions>> dateContent;
private ParseQueryAdapter<Sessions> sessionsQueryAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d("test", "query");
Parse.enableLocalDatastore(this);
Parse.initialize(this, "xxx", "xxx");
ParseObject.registerSubclass(Sessions.class);
//sessionHeaderFetch();
ParseQueryAdapter.QueryFactory<Sessions> factory = new ParseQueryAdapter.QueryFactory<Sessions>(){
@Override
public ParseQuery<Sessions> create() {
ParseQuery<Sessions> query = Sessions.getQuery();
query.include("sessionId");
query.include("Location");
Log.d("test", "query");
return query;
}
};
sessionsQueryAdapter = new ParseQueryAdapter<Sessions>(this, factory){
public View getItemView(Sessions sessions, View view, ViewGroup parent){
if(view == null){
view = View.inflate(getContext(), R.layout.session_list_item, null);
}
Log.d("test", "adapter");
TextView teamName = (TextView) view.findViewById(R.id.teamName);
TextView location = (TextView) view.findViewById(R.id.location);
TextView time = (TextView) view.findViewById(R.id.netsTime);
TextView slots = (TextView) view.findViewById(R.id.slots);
TextView bookedSlots = (TextView) view.findViewById(R.id.players);
TextView openSlots = (TextView) view.findViewById(R.id.openSlots);
teamName.setText(sessions.getSessionId());
location.setText(sessions.getLocation());
time.setText((CharSequence) sessions.getNetsDate());
slots.setText(sessions.getSlots());
bookedSlots.setText(sessions.getOpenSlots());
openSlots.setText(sessions.getOpenSlots());
return view;
}
};
sessionsQueryAdapter.setAutoload(false);
sessionsQueryAdapter.setPaginationEnabled(false);
ListView listView = (ListView) findViewById(R.id.expandableListView);
sessionsQueryAdapter.setTextKey("sessionId");
listView.setAdapter(sessionsQueryAdapter);
}
}
вместе с другими добытчика и сеттеры у меня есть следующий метод, а внутри моего класса Анализировать модели.
public static ParseQuery<Sessions> getQuery() {
Log.d("test", "inside query");
return ParseQuery.getQuery(Sessions.class);
}
Анализировать класс
@ParseClassName("Sessions")
public class Sessions extends ParseObject {
public Sessions(){
}
public String sessionId;
public String location;
public String netNo;
public String userId;
public int slots;
public int openSlots;
public Date netsDate;
public String getSessionId() {
return getString("SessionId");
}
public void setSessionId(String sessionId) {
put("SessionId", sessionId);
}
public String getLocation() {
return getString("Location");
}
public void setLocation(String location) {
put("Location", location);
}
public String getNetNo() {
return getString("NetNo");
}
public void setNetNo(String netNo) {
put("NetNo", netNo);
}
public String getUserId() {
return getString("UserId");
}
public void setUserId(String userId) {
put("UserId", userId);
}
public int getSlots() {
return getInt("Slots");
}
public void setSlots(int slots) {
put("Slots", slots);
}
public int getOpenSlots() {
return getInt("OpenSlots");
}
public void setOpenSlots(int openSlots) {
put("OpenSlots", openSlots);
}
public Date getNetsDate() {
return getDate("NetsDate");
}
public void setNetsDate(Date netsDate) {
put("NetsDate", netsDate);
}
public static ParseQuery<Sessions> getQuery() {
Log.d("test", "inside query");
return ParseQuery.getQuery(Sessions.class);
}
}
Вы видите это получить логаут? например, «внутренний запрос» и «запрос»? –
ничего не регистрируется ... только Log.d («test», «query»); ниже setContentView выполняется. Не знаю, почему –
Итак, у вас есть класс Session и он аннотируется с @ParseClass? –