Chat UIKit Android View v3
Chat UIKit Android View
Chat UIKit
Android View
Version 3

Search messages

Copy link

Channel members are able to search for messages with keywords using MessageSearchActivity or MessageSearchFragment. When the user taps Search in the group channel settings screen, the message search screen appears. Once the user enters a keyword into the search bar, a list of messages that contains the search query is retrieved.


Message search screen

Copy link

A message search screen is composed of three components: header, message search list, and search status.

Header

Copy link

The view of the header component is created and customized in the MessageSearchHeaderComponent of the MessageSearchModule. The MessageSearchHeaderComponent refers to the search bar.

Message search list

Copy link

The message search list component shows a list of messages that contains the keyword from all group channels joined by the current user. The view of the message search list is created and customized in the MessageSearchListComponent of the MessageSearchModule. You can also customize each item in the list view using using MessageSearchAdapter.

Search status

Copy link

The search status component shows the result of the data request for a message search list. The StatusComponent exists in the MessageSearchModule and lets the user know if the list is loading or if the list could not be called.


UIKit for Android provides both activity and fragment to create a message search screen. You can choose which one to build your app with and you may solely use activity instead of fragment if you wish to. You can build a message search screen through MessageSearchActivity, which uses UIKitFragmentFactory to create views.

Start an activity

Copy link

You can start an activity by using intent to move from one activity to MessageSearchActivity as shown below:

KotlinJava
val intent = MessageSearchActivity.newIntent(context, "channel_url")
startActivity(intent)

Create a fragment

Copy link

MessageSearchActivity allows you to create a basic MessageSearchFragment through UIKitFragmentFactory and MessageSearchFragment.Builder. UIKitFragmentFactory has a set of methods that build each fragment, whereas the builder class provides APIs to customize the UI of the data and event handlers used in MessageSearchFragment. To see all APIs of MessageSearchFragment.Builder, refer to the API reference page.

KotlinJava
val fragment = MessageSearchFragment.Builder("channel_url").build()

Note: To use UIKit's fragments as a nested fragment, refer to the Android Developer Documentation's Nested Fragments.


Customization

Copy link

In the search messages key function, you can customize MessageSearchFragment to change different parts of the screen. The MessageSearchFragment.Builder class allows you to create and customize the basic MessageSearchFragment that UIKit provides but you can only change its own APIs, such as setting a layout. If you wish to customize the fragment beyond using the APIs provided in the builder, you must inherit new customization methods.

The following table shows the main classes used in MessageSearchFragment to display and customize the message search screen.

FragmentModuleComponentStyleRecyclerView

MessageSearchFragment

MessageSearchModule

MessageSearchHeaderComponent

MessageSearchListComponent

StatusComponent

Module.MessageSearch

MessageSearchAdapter

Depending on the UI or the feature you wish to customize in the fragment, you can change the classes mentioned in the table. To learn how to customize the fragment, see the Customizations overview page for further details.

Note: The links to the above customization pages provide an example of how to customize classes related to ChannelFragment. In order to make changes to the message search screen, you must use the correct classes.