1
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로 주석을 달았습니까? –