コード例 #1
0
 /** 刷新当前的列表 */
 public void refreshList() {
   friends = FriendsManager.getContacterList();
   ContacterExpandAdapter tempViewAdapter =
       new ContacterExpandAdapter(SingleChatListActivity.this, friends);
   contacterList.setAdapter(tempViewAdapter);
   // expandAdapter.notifyDataSetChanged();
 }
コード例 #2
0
  private void init() {
    // 获取好友情况
    contacterList = (ListView) findViewById(R.id.main_expand_list);
    expandAdapter = new ContacterExpandAdapter(this);
    contacterList.setAdapter(expandAdapter);

    // 获取要添加好友的邀请人
    //		inviteList = (ListView) findViewById(R.id.main_invite_list);
    //		inviteAdapter = new InviteAdapter();
    //		inviteList.setAdapter(inviteAdapter);
    //		// 为添加好友的邀请人设置监听器
    //		inviteList.setOnItemClickListener(inviteListClick);
    // 添加好友按钮
    addFriendbtn = (ImageButton) findViewById(R.id.addFriend_btn);
    addFriendbtn.setOnClickListener(
        new OnClickListener() {
          @Override
          public void onClick(View arg0) {
            addSubscriber();
          }
        });
    searchEt = (EditText) findViewById(R.id.searchEditText);
    searchEt.addTextChangedListener(
        new TextWatcher() {
          // 当输入框的文字改变时,执行以下方法。
          @Override
          public void onTextChanged(CharSequence s, int start, int before, int count) {
            List<User> tempList = new ArrayList<User>(); // 好友链表
            tempList = friends;
            for (int i = 0; i < tempList.size(); i++) {
              User hr = tempList.get(i);
              if ((hr.getName()).indexOf(s.toString()) == -1) {
                tempList.remove(i);
              }
            }
            ContacterExpandAdapter tempViewAdapter =
                new ContacterExpandAdapter(SingleChatListActivity.this, tempList);
            contacterList.setAdapter(tempViewAdapter);
            if ((s.toString().trim()).equals("")) {
              refreshList();
            }
          }

          @Override
          public void afterTextChanged(Editable arg0) {}

          @Override
          public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {}
        });

    // 获取当前登录用户的所有好友
    friends = FriendsManager.getContacterList();
    // 设置好友列表子项点击监听器
    contacterList.setOnItemClickListener(
        new OnItemClickListener() {
          // 列表选项被点击
          public void onItemClick(AdapterView<?> arg0, View view, int position, long id) {
            // 获取点击的好友
            User friend = friends.get(position);
            createChat(friend);
          }
        });
    // 设置好友列表长按事件
    contacterList.setOnItemLongClickListener(friendListOnItemLongClickListener);
  }