@Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_pick_contact_no_checkbox);
    listView = (ListView) findViewById(R.id.list);
    sidebar = (Sidebar) findViewById(R.id.sidebar);
    sidebar.setListView(listView);
    contactList = new ArrayList<User>();
    // 获取设置contactlist
    getContactList();
    // 设置adapter
    contactAdapter = new ContactAdapter(this, R.layout.row_contact, contactList);
    listView.setAdapter(contactAdapter);
    listView.setOnItemClickListener(
        new OnItemClickListener() {

          @Override
          public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            onListItemClick(position);
          }
        });
  }
Exemplo n.º 2
0
  @Override
  public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    // 防止被T后,没点确定按钮然后按了home键,长期在后台又进app导致的crash
    if (savedInstanceState != null && savedInstanceState.getBoolean("isConflict", false)) return;
    inputMethodManager =
        (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
    listView = (ListView) getView().findViewById(R.id.list);
    sidebar = (Sidebar) getView().findViewById(R.id.sidebar);
    sidebar.setListView(listView);

    // 黑名单列表
    blackList = EMContactManager.getInstance().getBlackListUsernames();
    contactList = new ArrayList<User>();
    // 获取设置contactlist
    getContactList();

    // 搜索框
    query = (EditText) getView().findViewById(R.id.query);
    query.setHint(R.string.search);
    clearSearch = (ImageButton) getView().findViewById(R.id.search_clear);
    query.addTextChangedListener(
        new TextWatcher() {
          public void onTextChanged(CharSequence s, int start, int before, int count) {
            adapter.getFilter().filter(s);
            if (s.length() > 0) {
              clearSearch.setVisibility(View.VISIBLE);
            } else {
              clearSearch.setVisibility(View.INVISIBLE);
            }
          }

          public void beforeTextChanged(CharSequence s, int start, int count, int after) {}

          public void afterTextChanged(Editable s) {}
        });
    clearSearch.setOnClickListener(
        new OnClickListener() {
          @Override
          public void onClick(View v) {
            query.getText().clear();
            hideSoftKeyboard();
          }
        });

    // 设置adapter
    adapter = new ContactAdapter(getActivity(), R.layout.easeui_row_contact, contactList);
    listView.setAdapter(adapter);
    listView.setOnItemClickListener(
        new OnItemClickListener() {

          @Override
          public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            String username = adapter.getItem(position).getUsername();
            if (Constant.NEW_FRIENDS_USERNAME.equals(username)) {
              // 进入申请与通知页面
              User user =
                  ((DemoHXSDKHelper) HXSDKHelper.getInstance())
                      .getContactList()
                      .get(Constant.NEW_FRIENDS_USERNAME);
              user.setUnreadMsgCount(0);
              startActivity(new Intent(getActivity(), NewFriendsMsgActivity.class));
            } else if (Constant.GROUP_USERNAME.equals(username)) {
              // 进入群聊列表页面
              startActivity(new Intent(getActivity(), GroupsActivity.class));
            } else if (Constant.CHAT_ROOM.equals(username)) {
              // 进入聊天室列表页面
              startActivity(new Intent(getActivity(), PublicChatRoomsActivity.class));
            } else if (Constant.CHAT_ROBOT.equals(username)) {
              // 进入Robot列表页面
              startActivity(new Intent(getActivity(), RobotsActivity.class));
            } else {
              // demo中直接进入聊天页面,实际一般是进入用户详情页
              startActivity(
                  new Intent(getActivity(), ChatActivity.class)
                      .putExtra("userId", adapter.getItem(position).getUsername()));
            }
          }
        });
    listView.setOnTouchListener(
        new OnTouchListener() {

          @Override
          public boolean onTouch(View v, MotionEvent event) {
            // 隐藏软键盘
            if (getActivity().getWindow().getAttributes().softInputMode
                != WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN) {
              if (getActivity().getCurrentFocus() != null)
                inputMethodManager.hideSoftInputFromWindow(
                    getActivity().getCurrentFocus().getWindowToken(),
                    InputMethodManager.HIDE_NOT_ALWAYS);
            }
            return false;
          }
        });

    ImageView addContactView = (ImageView) getView().findViewById(R.id.iv_new_contact);
    // 进入添加好友页
    addContactView.setOnClickListener(
        new OnClickListener() {

          @Override
          public void onClick(View v) {
            startActivity(new Intent(getActivity(), AddContactActivity.class));
          }
        });
    registerForContextMenu(listView);

    progressBar = (View) getView().findViewById(R.id.progress_bar);

    contactSyncListener = new HXContactSyncListener();
    HXSDKHelper.getInstance().addSyncContactListener(contactSyncListener);

    blackListSyncListener = new HXBlackListSyncListener();
    HXSDKHelper.getInstance().addSyncBlackListListener(blackListSyncListener);

    contactInfoSyncListener = new HXContactInfoSyncListener();
    ((DemoHXSDKHelper) HXSDKHelper.getInstance())
        .getUserProfileManager()
        .addSyncContactInfoListener(contactInfoSyncListener);

    if (!HXSDKHelper.getInstance().isContactsSyncedWithServer()) {
      progressBar.setVisibility(View.VISIBLE);
    } else {
      progressBar.setVisibility(View.GONE);
    }
  }
Exemplo n.º 3
0
  @Override
  public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    // 防止被T后,没点确定按钮然后按了home键,长期在后台又进app导致的crash
    if (savedInstanceState != null && savedInstanceState.getBoolean("isConflict", false)) return;
    inputMethodManager =
        (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
    listView = (ListView) getView().findViewById(R.id.list);
    sidebar = (Sidebar) getView().findViewById(R.id.sidebar);
    sidebar.setListView(listView);
    // 黑名单列表
    blackList = EMContactManager.getInstance().getBlackListUsernames();
    contactList = new ArrayList<User>();
    // 获取设置contactlist
    getContactList();
    // 设置adapter
    // adapter = new ContactAdapter(getActivity(), R.layout.row_contact,
    // contactList, sidebar);
    adapter = new ContactAdapter(getActivity(), R.layout.row_contact, contactList, sidebar, null);
    listView.setAdapter(adapter);
    listView.setOnItemClickListener(
        new OnItemClickListener() {

          @Override
          public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            String username = adapter.getItem(position).getUsername();
            if (Constant.NEW_FRIENDS_USERNAME.equals(username)) {
              // 进入申请与通知页面
              User user =
                  ApplicationControl.getInstance()
                      .getContactList()
                      .get(Constant.NEW_FRIENDS_USERNAME);
              user.setUnreadMsgCount(0);
              startActivity(new Intent(getActivity(), NewFriendsMsgActivity.class));
            } else if (Constant.GROUP_USERNAME.equals(username)) {
              // 进入群聊列表页面
              Intent intent = new Intent(getActivity(), GroupsActivity.class);
              intent.putExtra("isFromShare", false);
              startActivity(intent);
            } else {
              // demo中直接进入聊天页面,实际一般是进入用户详情页
              startActivity(
                  new Intent(getActivity(), ChatActivity.class)
                      .putExtra("userId", adapter.getItem(position).getUsername()));
            }
          }
        });
    listView.setOnTouchListener(
        new OnTouchListener() {

          @Override
          public boolean onTouch(View v, MotionEvent event) {
            // 隐藏软键盘
            if (getActivity().getWindow().getAttributes().softInputMode
                != WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN) {
              if (getActivity().getCurrentFocus() != null)
                inputMethodManager.hideSoftInputFromWindow(
                    getActivity().getCurrentFocus().getWindowToken(),
                    InputMethodManager.HIDE_NOT_ALWAYS);
            }
            return false;
          }
        });

    ImageView addContactView = (ImageView) getView().findViewById(R.id.iv_new_contact);
    // 进入添加好友页
    addContactView.setOnClickListener(
        new OnClickListener() {

          @Override
          public void onClick(View v) {
            startActivity(new Intent(getActivity(), AddContactActivity.class));
          }
        });
    registerForContextMenu(listView);
  }