Example #1
0
  @Override
  public void onPullDownToRefresh(final PullToRefreshBase<ListView> refreshView) {
    // 获取消息
    refreshView.postDelayed(
        new Runnable() {
          @Override
          public void run() {
            ListView mlist = lvPTR.getRefreshableView();
            int preSum = mlist.getCount();
            MessageEntity messageEntity = adapter.getTopMsgEntity();
            if (messageEntity != null) {
              List<MessageEntity> historyMsgInfo =
                  imService.getMessageManager().loadHistoryMsg(messageEntity, historyTimes);
              if (historyMsgInfo.size() > 0) {
                historyTimes++;
                adapter.loadHistoryList(historyMsgInfo);
              }
            }

            int afterSum = mlist.getCount();
            mlist.setSelection(afterSum - preSum);
            /** 展示位置为这次消息的最末尾 */
            // mlist.setSelection(size);
            // 展示顶部
            //                if (!(mlist).isStackFromBottom()) {
            //                    mlist.setStackFromBottom(true);
            //                }
            //                mlist.setStackFromBottom(false);
            refreshView.onRefreshComplete();
          }
        },
        200);
  }