我有一个使用Parse.com的应用程序。每当我打开我的应用程序并进入显示用户最喜欢的练习的活动时,它都不会显示任何内容。如果我按下后退按钮并重新打开相同的活动(收藏夹),它会显示我最喜欢的练习。我不知道为什么会发生这种情况,我希望有人可以向我解释。 (我以F8应用程序为例开始使用)
我认为它失败的部分在这里:
Catalog.findInBackground(new FindCallback<Catalog>() {
@Override
public void done(List<Catalog> exercises, ParseException e) {
Favorites.get().addListener(MyFavoritesActivity.this);
if (e != null) {
Toast toast = Toast.makeText(getApplicationContext(),
e.getMessage(), Toast.LENGTH_LONG);
toast.show();
return;
}
if (exercises != null) {
int i = 0;
for (Catalog catalog : exercises) {
Log.d("Debug", "Exercise " + i + " added");
if (!favoritesOnly || Favorites.get().contains(catalog)) {
adapter.add(catalog);
i++;
}
}
}
}
});
我第一次打开活动时,计数器I log不会增加,只显示:
Debug Exercise 0 added
Debug Exercise 0 added
Debug Exercise 0 added
如果我关闭活动并重新打开它:
Debug Exercise 0 added
Debug﹕ Exercise 1 added
Debug﹕ Exercise 2 added
有谁愿意帮助我吗?如果需要更多代码,请询问。
提前致谢