提示
此功能在 5.12.2 版本开始支持。
我的群组页面
我的群组页面展示了当前用户已加入的群组。进入该页面,SDK 就会从数据库中拉取群组信息。IMKit 提供基于 UITableView
的群组页面类 RCMyGroupsViewController
。
我的群组页面(群组列表)
群组列表页面用于展示用户加入的群组列表,支持搜索群组、点击进入群聊以及长按群组操作。以下是群组列表页面相关组件的详细说明:
- GroupListActivity: 群组列表页面的容器类,负责加载并显示
GroupListFragment
。 - GroupListFragment: 群组列表页面的核心部分,负责展示用户加入的群组列表,并处理用户交互事件。
- GroupListViewModel: 数据和业务逻辑的处理类,负责从服务器或本地获取用户加入的群组数据,并将数据传递给
GroupListFragment
。 - XML布局:
rc_page_group_list.xml
启动群组列表页面
int pageCount = 50; // 分页加载的数量,默认 50
startActivity(GroupListActivity.newIntent(this, pageCount));
群组列表页面定制化
// 自定义CustomGroupListFragment
public class CustomGroupListFragment extends GroupListFragment {
@Override
protected void onViewReady(@NonNull GroupListViewModel viewModel) {
super.onViewReady(viewModel);
// 重写搜索点击事件
searchComponent.setSearchClickListener(
v -> startActivity(GroupSearchActivity.newIntent(getContext())));
}
/**
* 点击群组
*
* @param groupInfo 群组信息
*/
protected void onGroupItemClick(GroupInfo groupInfo) {
}
/**
* 长按群组
*
* @param groupInfo 群组信息
*/
protected void onGroupItemLongClick(GroupInfo groupInfo) {}
}
群组搜索页面
群组搜索页面用于支持用户对已加入的群组进行搜索和快速定位。以下是群组搜索页面相关组件的详细说明:
- GroupSearchActivity: 群组搜索页面的容器类,负责加载并显示
GroupSearchFragment
。 - GroupSearchFragment: 群组搜索页面的核心部分,负责展示搜索结果,并处理用户交互事件。
- GroupSearchViewModel: 数据和业务逻辑的处理类,负责从服务器或本地搜索用户加入的群组,并将数据传递给
GroupSearchFragment
。 - XML布局:
rc_page_group_search.xml
启动群组搜索页面
int pageCount = 50; // 分页加载的数量,默认 50
startActivity(GroupSearchActivity.newIntent(this, pageCount));
群组搜索页面定制化
// 自定义CustomGroupSearchFragment
public class CustomGroupSearchFragment extends GroupSearchFragment {
/**
* 点击群组
*
* @param groupInfo 群组信息
*/
protected void onGroupItemClick(GroupInfo groupInfo) {
}
/**
* 长按群组
*
* @param groupInfo 群组信息
*/
protected void onGroupItemLongClick(GroupInfo groupInfo) {}
}