示例#1
0
 /**
  * 界面刷新 @Title: initOrRefresh
  *
  * @param
  * @return void
  * @throws
  */
 private void initOrRefresh() {
   if (mAdapter != null) {
     if (MyMessageReceiver.mNewNum != 0) { // 用于更新当在聊天界面锁屏期间来了消息,这时再回到聊天页面的时候需要显示新来的消息
       int news = MyMessageReceiver.mNewNum; // 有可能锁屏期间,来了N条消息,因此需要倒叙显示在界面上
       int size = initMsgData().size();
       for (int i = (news - 1); i >= 0; i--) {
         mAdapter.add(initMsgData().get(size - (i + 1))); // 添加最后一条消息到界面显示
       }
       mListView.setSelection(mAdapter.getCount() - 1);
     } else {
       mAdapter.notifyDataSetChanged();
     }
   } else {
     mAdapter = new MessageChatAdapter(this, initMsgData());
     mListView.setAdapter(mAdapter);
   }
 }