Android ListView使用Loader Manager加载更多项目

时间:2015-09-20 03:36:11

标签: android listview android-loadermanager

我刚刚创建了一个ListView,并希望实现一个加载更多消息按钮。数据应根据消息的日期按降序排序。因此,我创建了一些变量:

        mInitialTotalMessages = Message.getTotalImages(getActivity().getApplicationContext(), messageID);
        mHasMoreRecord = mInitialTotalMessages > (MESSAGE_LIST_PAGE_SIZE * mPageNo);
        mOffset = (int)mInitialTotalMessages - (MESSAGE_LIST_PAGE_SIZE * mPageNo);
        mOffset = (mOffset < 0) ? 0 : mOffset;

当有更多消息时,加载程序将重新启动并查询更多消息。我在查询中包含了Offset来限制根据变量集显示的数据。但这是我的问题。如何以降序显示数据并确保在用户按下加载更多按钮之前不显示数据?以下是我查询邮件的查询。

  1. 这是我的第一个SQL查询:

    String sortQuery = TableMessage.MESSAGE_DATE + " ASC LIMIT -1 OFFSET " + mOffset;
    
    String selection = TableMessage.MESSAGE_ID+ " = ?";
    
    String[] selectionArgs = {messageID};
    
    return new CursorLoader(getActivity(), ContentProviderMessage.CONTENT_URI, projection, selection, selectionArgs, sortOrder);
    
  2. 我成功获得了最后两项,但如何在ListView中反转订单。

    Image for Query 1

    1. 这是我的第二个SQL查询:

      String sortQuery = TableMessage.MESSAGE_DATE + " DESC LIMIT -1 OFFSET " + mOffset;
      
      String selection = TableMessage.MESSAGE_ID+ " = ?";
      
      String[] selectionArgs = {messageID};
      
      return new CursorLoader(getActivity(), ContentProviderMessage.CONTENT_URI, projection, selection, selectionArgs, sortOrder);
      
    2. 检索的数据是数据1和数据2.如何获取数据5到数据3。

      Image for Query 2

      请建议。

      谢谢。

0 个答案:

没有答案