- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 ListView,我正在使用 Parse.com 获取数据,我正在使用 ParseQueryAdapter 来抽取 ListView。但是我没有看到适配器正在获取数据。
这是我的代码..
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);
}
}
与其他 getter 和 setter 一起,我的 Parse Model 类中也有以下方法。
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);
}
}
最佳答案
在聊天中与我分享代码后,我相信这是最适合您的解决方案:将您的 parseIO 更改为:
public class ParseIO {
public void sessionFetch(Date headers, final ParseIOListener<Sessions> listener){
ParseQuery<Sessions> query = ParseQuery.getQuery(Sessions.class);
query.whereEqualTo("NetsDate",headers);
final ArrayList<Sessions> sessionsData = new ArrayList<Sessions>();
query.findInBackground(new FindCallback<Sessions>() {
@Override
public void done(List<Sessions> sessionsObjects, com.parse.ParseException e) {
if (e == null) {
for (Sessions session : sessionsObjects) {
sessionsData.add(session);
}
listener.onDataRetrieved(sessionsData);
} else {
listener.onDataRetrieveFail(e);
}
}
});
}
public void sessionHeaderFetch(final ParseIOListener<Date> listener){
Log.d("test", "session fetch entry");
ParseQuery<Sessions> query = ParseQuery.getQuery(Sessions.class);
final ArrayList<Date> sessionHeaders = new ArrayList<Date>();
query.findInBackground(new FindCallback<Sessions>() {
@Override
public void done(List<Sessions> sessionsObjects, com.parse.ParseException e) {
if (e == null) {
Log.d("test", "Retrieved -- hello" + sessionsObjects.size() + " sessions");
for (Sessions session : sessionsObjects) {
sessionHeaders.add(session.getNetsDate());
}
Log.d("test", "Parse fetched headers" + sessionHeaders.size());
listener.onDataRetrieved(sessionHeaders);
} else {
Log.d("test", "Error: " + e.getMessage());
listener.onDataRetrieveFail(e);
}
}
});
}
public interface ParseIOListener<T>{
void onDataRetrieved(ArrayList<T> listOfData);
void onDataRetrieveFail(ParseException e);
}
}
现在,如果您注意到您的方法返回 void。但是需要接口(interface)。所以当你调用这个方法时你可以设置接口(interface),当它被调用时它会包含你的数据例如获取标题:
sessionHeaderFetch(new ParseIOListener<Date>() {
@Override
public void onDataRetrieved(ArrayList<Date> listOfData) {
//here you have your listOfData
}
@Override
public void onDataRetrieveFail(ParseException e) {
//error. Log it out and handle it here
}
});
关于android - ParseQueryAdapter 不获取项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27757494/
我正在尝试从 Parse.com 获取数据,并按照其网站上的说明和示例进行操作,但我遇到了似乎无法解决的问题。请求的查询始终为空。我使用以下代码 public void createParseQuer
我有一个 ListView,我正在使用 Parse.com 获取数据,我正在使用 ParseQueryAdapter 来抽取 ListView。但是我没有看到适配器正在获取数据。 这是我的代码.. p
我设置了 ParseQueryAdapter,但图像似乎没有正确加载。我总共有 10 个对象,最新的 3 个带有图像。 我的适配器正在使用适配器将所有这些对象拉入 ListView 中,但看起来不仅
我正在尝试在我的项目中使用 ParseQueryAdapter,但没有任何运气显示结果。 我的目标是从 ParseUser 获取数据。所以,我的模型正在扩展 ParseUser: 所以我有一个模型:
我正在构建应用程序的好友请求 View 。我正在尝试显示好友请求列表,您可以通过单击它们来接受它们。 这是我在 Activity 的 onCreate() 方法中运行的代码。正如您所看到的,我需要为当
对于我的 Android 应用程序,我将 ParseObject 子类化以创建 Food、Pref 类和扩展 ParseUser 并创建关系的 CustomUser 类““食物”和“用户”之间的恋人。
如何在 Android 的 ParseQueryAdapter 中自定义“加载更多...”题词?当我们在适配器中有超过 25 个项目时它会出现。 最佳答案 如果您在自定义适配器中使用 ParseQue
使用最新的 Parse 库 v1.5.1 感谢更新,现在我可以: ParseQueryAdapter mAdapter = new ParseQueryAdapter(MainActivity.thi
我正在尝试获取从 ParseQueryAdapter 返回的对象数量,并将它们放在 TextView 中以向用户显示加载的数量。 我尝试过类似的操作,但即使项目已正常加载到 ListView 中,也一
刚刚在我的应用程序中尝试了新的本地数据存储功能,但它一直崩溃,提示 Method not allowed when pinning is enabled 特别是当我设置适配器 listView.set
假设我有一个 ParseQueryAdapter,获取标题。我想将这些标题存储到 String[] blah = {} 中。我该怎么做? 我为什么要这样做?因为假设我有一个 listView,并且在该
我目前的设置: 操作系统:windows 7 IDE:Android Studio(带有更新的 SDK) 解析 jar(v 1.10) 我正在尝试 ParseQueryAdapter 的示例,我在我的
我正在尝试使用 RecyclerView.Adapter 在列表中实现 CardView。使用 RecyvlerView.Adapter 在列表中创建卡片非常简单。我使用 parse.com 作为我的
我的问题很简单,但是我的代码无法正常工作。 我想将ParseQuery的结果排序到ParseQueryAdapter中,然后再将其显示到ListView中。 products.addOnQueryLo
对于我正在制作的应用程序,我试图使用自定义 parsequeryadapter 子类使用从 parse.com 获得的数据填充 listView。基本上它只是在打开 Activity 时显示一个空白
我正在尝试使用 ParseQueryAdapter 在 ListView 中显示用户名和照片。我有以下类(class):User 和 Post。 我在这里设置: String[] postsObjec
我正在尝试自定义 ParseQueryAdapter 并实现缓存。我尝试在适配器的 onLoaded 方法中缓存结果,但问题是,正如在 Logcat 中看到的那样,根本没有调用 onLoading 和
我正在开发一个 Android 应用程序,我真的很喜欢解析并计划在未来的项目中再次使用它。所以这个应用程序是我的高级项目... 第一。我尝试了多对多“_User”关系,但无法找出查询或无法成功将其他用
我正在使用 Parse.com android sdk。在我的 TabsActivity.java 中,我有一个 SearchFragment,它扩展了 ListFragment,以便使用自定义 Pa
我尝试使用下面的代码导入 com.parse.ParseImageView 和 com.parse.ParseQueryAdapter。但它显示此错误: 错误:(26, 13) 解析失败:com.pa
我是一名优秀的程序员,十分优秀!