我正在Android应用程序中使用Parse实现群聊。并且场景是,当发件人向组发送任何消息时,我将此消息与发送方侧的解析本地数据存储中的标签一起固定。我还放了自动刷新方法,每秒从解析本地数据存储中检索数据。但问题是当我调用pinInBackground方法时,数据没有使用适配器在ListView中填充。但是当我一起调用saveInBackground和pinInBackground方法时,它正在填充。
我检查localdatastore中的数据大小也在增加。但没有反映在ListView中。
我正在使用以下方法从localdatastore中检索数据 -
private ArrayList<ParseObject> mMessages;
private MyCustomAdapter1 mAdapter;
private ListView lvChat;
private boolean mFirstLoad;
//in onCreate() method
mMessages = new ArrayList<ParseObject>();
lvChat.setTranscriptMode(1);
mFirstLoad = true;
mAdapter = new MyCustomAdapter1(getActivity(), mMessages);
lvChat.setAdapter(mAdapter);
private void receiveChatMessages() {
ParseQuery<ParseObject> query = ParseQuery.getQuery("ChatMessages");
query.orderByAscending("createdAt");
query.fromPin("myLable");
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> list, ParseException e) {
if (e == null) {
mMessages.clear();
mMessages.addAll(list);
mAdapter.notifyDataSetChanged(); // update adapter
// Scroll to the bottom of the list on initial load
if (mFirstLoad) {
lvChat.setSelection(mAdapter.getCount() - 1);
mFirstLoad = false;
}
} else {
Log.d("message", "Error: " + e.getMessage());
}
}
});
}
问题 - saveInBackground方法正在反映数据但是pinInBackground不是什么原因?
提前致谢!