CometChatUI
CometChatUI is an option to launch a fully functional chat application using the UI Kit. In CometChatUI all the UI Components are interlinked and work together to launch a fully functional chat on your mobile application.
CometChatUI using the below code snippet Make sure to add the following code snippet after onSuccess of CometChat login.
- Java
Make sure that the above code snippet is added after
onSuccess of CometChat login.CometChatConversationList
The CometChatConversationList is Fragment which will help you to display list of recent conversations. The Fragment has all the necessary listeners and methods required to display the list of conversations.Usage
In yourlayout.xml add the following snippet to use the CometChatConversationListScreen.Adding the following code snippet will give you a fully working list of conversations.
- XML

Note About setItemClickListener on CometChatConversationListTo get the click event of the list you must use
setItemClickListener. The setItemClickListener has OnItemClick() to handle single click and OnItemLongClick() to handle long click events.- Java
CometChatUserList
TheCometChatUserList is a fragment with a List of users. The Fragment has all the necessary listeners and methods required to display the user’s list.
Usage
In yourlayout.xml add the following snippet to use the CometChatUserList. Adding the following code snippet will give you a fully working list of users.
- XML

Note About setItemClickListener on CometChatUserListTo get the click event of the list you must use
setItemClickListener. The setItemClickListener has OnItemClick() to handle single click and OnItemLongClick() to handle long click events.- Java
CometChatGroupList
TheCometChatGroupList is a fragment with a List of groups Fragment has all the necessary listeners and methods required to display the list of groups
Usage
In yourlayout.xml add the following snippet to use the CometChatGroupList.Adding the following code snippet will give you a full working list of groups.
- XML

Note About setItemClickListener on CometChatGroupListTo get the click event of the list you must use
setItemClickListener. The setItemClickListener has OnItemClick() to handle single click and OnItemLongClick() to handle long click events.- Java
CometChatMessageList
CometChatMessageList is a fragment that consists of send and received messages. It is capable of sending and receiving different types of messages such as text, image, and documents.
Usage
To useCometChatMessageList follow the below code snippets. CometChatMessageList is a dynamic so it will require some arguments. Launch CometChatChatMessageListActivity using below code and pass the required parameters in intent.
- Java

CometChatCallList
You can use the CometChatCallList to get a list of all the calls made by the logged-in user to other users and groups.Usage
Add the following code in yourlayout.xml
- XML

CometChatUserProfile
CometChatUserProfile is a fragment which provides detail about the currently logged-in user in the CometChat.
Usage
Add the following code in yourlayout.xml
- XML

Shared
There are certain core components that are being used everywhere inuiKit library. You will find those components in shared folder under ui_components. Below are core components that are being used in uiKit library.
CometChatAvatar
This is an image view customize only to display Avatar. This view can be used with image URLs as well as with CometChat objects like User and Group
Usage
In yourlayout.xml add the following code snippet.
- XML
avatar_shape is a static property. It should be either circle or rectangle. whereas the avatar URL needs to be set dynamically following is the sample code for the same.
- Java
User and Group object. The setAvatar() method accepts User or Group object if Avatar of User or Group is not available it automatically show the initials of the user or group name as a placeholder Avatar.
Common Features
CometChatAvatar class provides functionality for an Avatar feature. There are commonly used properties to control the look of the Avatar.| CometChatAvatar field element | Relevant attributes/methods |
|---|---|
| Avatar Shape | app:avatar_shape |
| Avatar | app:avatar Method - setAvatar(@NonNull User) - setAvatar(@NonNull Group) - setAvatar(@NonNull String) - setAvatar(@NonNull Drawable, @NonNull String) |
| Avatar Initial | app:avatar_initials Method - setInitials(@NonNull String) |
| Border Color | app:border_color |
| Border Width | app:border_width |
CometChatUserPresence
This view will be used to show the user status if the user is online or offline. This view will take user status and display the color accordingly.
Usage
In yourlayout.xml add the following code
- XML
- Java
Common Features
CometChatUserPresence providesapp:user_status attribute and method setUserStatus to set Status of the user.
The app:user_status attribute can also be used with DataBinding in the following manner
e.g app:user_status="@{user.status}" you can also use different objects according to their use case. The attribute will continue to work as long as receives a string parameter
| CometChatUserPresence field element | Relevant attributes/methods |
|---|---|
| User Status | app:user_status <br /><br />**Method** - setUserStatus(@NonNull String) |
CometChatBadgeCount
The CometChatBadgeCount component can be used to show an unread count. You can use it in different scenarios according to their use case.
layout.xml
- XML
setCount method. The setCount method takes an int as a parameter.
- Java
Common Feature
The CometChatBadgeCount component provides different attributes and methods to control the behavior and appearance of the BadgeCount view. The attributeapp: count can also be used with DataBinding
- XML
| CometChatBadgeCount field element | Relevant attributes/methods |
|---|---|
| Count | app:count Method - setCount(int) |
| Count Size | app:count_size Method - setCountSize(float) |
| Count Background Color | app:count_background_color Method - setCountBackground(@ColorRes color) |
| Count Color | app:count_color Method - setCountSize(float) |
CometChatUsers
TheCometChatUsers is custom RecyclerView which helps to display a list of users present in your CometChat app.

Note about CometChatUsers using with DataBinding:Your project should have DataBinding enabled. You can use
CometChatUsers using DataBinding in the following mannerlayout.xml add the following code :
- XML
- Java
UsersRequestBuilder(). Visit the below link for more details on how to retrieve a list of users.
Documentation Retrive Users -Learn how to fetch various types of users.
In onSuccess of the fetchNext method you can set the data the ObservableArrayList you have created. The advantage of using the ObservableArrayList is one doesn’t have to manually set the data on binding.setUserList(userList); every time you get a new set of data.
- Java
Note About CometChatUsers Without DataBindingIf you are not using DataBinding in your project you can use the
CometChatUser in the following manner.layout.xml add the following code
- XML
- Java
Note About Using setItemClickListenerFor getting the click event of
CometChatUsers you can make use of setItemClickListener class.- Java
Common Usage
TheCometChatUsers component provides different properties to control the behavior of CometChatUsers view.
| CometChatUsers field elements | Relevant attributes/methods |
|---|---|
| Update List | - setUserList(List<User>) |
| Update | - update (User) |
| Remove | - remove(String) |
| Add | - add(User) |
CometChatGroups
TheCometChatGroups is a custom RecyclerView that helps you to display a list of groups.

Note About CometChatGroups Using With DataBindingIf you are using DataBinding in your project you can use the
CometChatGroups in the following manner.layout.xml add the following code snippet
- XML
- Java
GroupsRequestBuilder().Visit the below link for more details on how to retrieve a list of group.
DocumentationRetrive Groups -Learn how to fetch various types of groups.
In onSuccess of the fetchNext method you can set the data the ObservableArrayList you have created. The advantage of using the ObservableArrayList is one doesn’t have to manually set the data on binding.setGroupList(groupList); every time you get a new set of data.
- Java
Note About CometChatGroups Without DataBindingIf you are not using DataBinding in your project you can use the
CometChatGroups in the following manner.layout.xml add the following code
- XML
- Java
Note About Using setItemClickListenerFor getting the click event of
CometChatGroups you can make use of setItemClickListener class.- Java
Common Usage
TheCometChatGroupList component provides different properties to control the behavior of CometChatGroupList view. You can perform different operations like an update, remove, add, etc.
| CometChatGroups field elements | Relevant attributes/methods |
|---|---|
| Update List | - setGroupList(List<Group>) |
| Update | - update (Group) |
| Remove | - remove(String) |
| Add | - add(Group) |
CometChatConversations
CometChatConversations is a custom RecyclerView which will help you to display a list of all the users and groups in which the logged-in user has made any conversation.

Note about CometChatConversations using with DataBindingIf you are using DataBinding in your project you can use the
CometChatConversations in the following manner.layout.xml add the following code.
- XML
- Java
ConversationsRequestBuilder() .visit the below link for more details on how to retrieve a list of conversation
Documentation Retrive Conversations -Learn how to build a recent chats list using conversations.
In onSuccess of the fetchNext method you can set the data the ObservableArrayList you have created. The advantage of using the ObservableArrayList is one doesn’t have to manually set the data on binding.setConversationList(conversationList); every time you get a new set of data.
- Java
Note About CometChatConversations Without DataBindingIf you are not using DataBinding in your project you can use the
CometChatConversations in the following manner.layout.xml add the following code
- XML
- Java
onSuccess of the fetchNext method of ConversationsRequestBuilder, you can set the data. You can refer how to Retrieve Conversations
Note About Using setItemClickListenerFor getting the click event of
CometChatConversations you can make use of the ConversationItemClickListener class.- Java
Common Usage
TheCometChatConversations component provides different properties to control the behavior of the CometChatConversations view. You can perform different operations like an update, remove, add, etc
| CometChatConversations field elements | Relevant attributes/methods |
|---|---|
| Update List | - setConversationList(List<Conversation>) |
| Update | - update (Conversation) |
| Remove | - remove(Conversation) |
| Add | # add(Conversation) |
CometChatCalls
CometChatCalls is custom RecyclerView which will help you to display list of calls.

CometChatCalls in the following manner.
In your layout.xml add the following code :
- XML
- Java
onSuccess of the fetchNext method of MessagesRequestBuilder you can set the data. You need to add setCategory(CometChatConstants.CATEGORY_CALL) in your MessagesRequestBuilder to fetch only call messages
You can refer an example here.
- Java
Note About Using CallItemClickListener:For getting the click event of
CometChatCalls you can make use of ItemClickListener class.CometChatCalls.
This event is performed when clicking on the User or Group item displayed in the call list.
- Java
- Java
Common Usage:
TheCometChatCallList component provides different properties to control the behavior of the CometChatCallList view. You can perform different operations like an update, remove.
| CometChatCalls field e | Relevant attributes/methods |
|---|---|
| Update List | setCallList(List<Call>) |
| Update | update(Call) |
| Remove | remove(Call) |