Android Parse - Pininbackground无法正常工作

时间:2015-09-22 08:38:59

标签: android parse-platform local-datastore

我正在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不是什么原因?

提前致谢!

0 个答案:

没有答案