private void initUI() { mi = new MenuInflater(this); layout_body_activity = (LinearLayout) findViewById(R.id.bodylayout); img_recent_chat = (ImageView) findViewById(R.id.tab1); img_recent_chat.setOnClickListener(this); img_friend_list = (ImageView) findViewById(R.id.tab2); img_friend_list.setOnClickListener(this); img_group_friend = (ImageView) findViewById(R.id.tab3); img_group_friend.setOnClickListener(this); myHeadImage = (ImageView) findViewById(R.id.friend_list_myImg); myName = (TextView) findViewById(R.id.friend_list_myName); cursor = (ImageView) findViewById(R.id.tab2_bg); // myHeadImage.setImageResource(imgs[list.get(0).getImg()]); myName.setText(list.get(0).getUserName()); layout_body_activity.setFocusable(true); mPager = (ViewPager) findViewById(R.id.viewPager); mListViews = new ArrayList<View>(); LayoutInflater inflater = LayoutInflater.from(this); View lay1 = inflater.inflate(R.layout.tab11, null); View lay2 = inflater.inflate(R.layout.tab22, null); View lay3 = inflater.inflate(R.layout.tab33, null); mListViews.add(lay1); mListViews.add(lay2); mListViews.add(lay3); mPager.setAdapter(new MyPagerAdapter(mListViews)); mPager.setCurrentItem(PAGE2); mPager.setOnPageChangeListener(new MyOnPageChangeListener()); // 下面是最近会话界面处理 mRecentListView = (ListView) lay1.findViewById(R.id.tab1_listView); // mRecentAdapter = new RecentChatAdapter(FriendListActivity.this, // application.getmRecentList());// 从全局变量中获取最近聊天对象数组 mRecentListView.setAdapter(application.getmRecentAdapter()); // 先设置空对象,要么从数据库中读出 // 下面是处理好友列表界面处理 // myListView = (MyListView) lay2.findViewById(R.id.tab2_listView); myExAdapter = new MyExAdapter(this, group); myListView.setAdapter(myExAdapter); myListView.setGroupIndicator(null); // 不设置大组指示器图标,因为我们自定义设置了 myListView.setDivider(null); // 设置图片可拉伸的 myListView.setFocusable(true); // 聚焦才可以下拉刷新 // 2015 myListView.setonRefreshListener(new MyRefreshListener()); // 下面是群组界面处理 mGroupListView = (ListView) lay3.findViewById(R.id.tab3_listView); List<GroupEntity> groupList = new ArrayList<GroupEntity>(); GroupEntity entity = new GroupEntity(0, "C175地带", "怀念高中生活..."); GroupEntity entity2 = new GroupEntity(0, "Android开发", "爱生活...爱Android..."); groupList.add(entity); groupList.add(entity2); GroupAdapter adapter = new GroupAdapter(this, groupList); mGroupListView.setAdapter(adapter); }
@Override protected void onResume() { // 如果从后台恢复,服务被系统干掉,就重启一下服务 // TODO Auto-generated method stub newNum = application.getRecentNum(); // 从新获取一下全局变量 if (!application.isClientStart()) { Intent service = new Intent(this, GetMsgService.class); startService(service); } new SharePreferenceUtil(this, Constants.SAVE_USER).setIsStart(false); NotificationManager manager = application.getmNotificationManager(); if (manager != null) { manager.cancel(Constants.NOTIFY_ID); application.setNewMsgNum(0); // 把消息数目置0 application.getmRecentAdapter().notifyDataSetChanged(); } super.onResume(); }
@Override public void getMessage(TranObject msg) { // 重写父类的方法,处理消息 // TODO Auto-generated method stub switch (msg.getType()) { case MESSAGE: newNum++; application.setRecentNum(newNum); // 保存到全局变量 TextMessage tm = (TextMessage) msg.getObject(); String message = tm.getMessage(); // ChatMsgEntity entity = new ChatMsgEntity("", MyDate.getDateEN(), // message, -1, true);// 收到的消息 // messageDB.saveMsg(msg.getFromUser(), entity);// 保存到数据库 Toast.makeText(FriendListActivity.this, "亲!新消息哦 " + msg.getFromUser() + ":" + message, 0) .show(); // 提示用户 MediaPlayer.create(this, R.raw.msg).start(); // 声音提示 User user2 = userDB.selectInfo(msg.getFromUser()); // 通过id查询对应数据库该好友信息 // RecentChatEntity entity2 = new RecentChatEntity(msg.getFromUser(), // user2.getImg(), newNum, user2.getUserName(), MyDate.getDate(), // message); // application.getmRecentAdapter().remove(entity2);// 先移除该对象,目的是添加到首部 // application.getmRecentList().addFirst(entity2);// 再添加到首部 application.getmRecentAdapter().notifyDataSetChanged(); break; case LOGIN: User loginUser = (User) msg.getObject(); Toast.makeText(FriendListActivity.this, "亲!" + loginUser.getId() + "上线了哦", 0).show(); MediaPlayer.create(this, R.raw.msg).start(); break; case LOGOUT: User logoutUser = (User) msg.getObject(); Toast.makeText(FriendListActivity.this, "亲!" + logoutUser.getId() + "下线了哦", 0).show(); MediaPlayer.create(this, R.raw.msg).start(); break; default: break; } }