Save the date! Android Dev Summit is coming to Mountain View, CA on November 7-8, 2018.
Android 0.0.0 Developer Preview
belongs to Maven artifact androidx.leanback:leanback:1.1.0-alpha01
Deprecated since version 0.0.0

SearchFragment

public class SearchFragment
extends Fragment

java.lang.Object
   ↳ android.app.Fragment
     ↳ androidx.leanback.app.SearchFragment


This class was deprecated in API level 0.0.0.
use SearchSupportFragment

A fragment to handle searches. An application will supply an implementation of the SearchFragment.SearchResultProvider interface to handle the search and return an ObjectAdapter containing the results. The results are rendered into a RowsFragment, in the same way that they are in a BrowseFragment.

A SpeechRecognizer object will be created for which your application will need to declare android.permission.RECORD_AUDIO in AndroidManifest file. If app's target version is >= 23 and the device version is >= 23, a permission dialog will show first time using speech recognition. 0 will be used as requestCode in requestPermissions() call. setSpeechRecognitionCallback(SpeechRecognitionCallback) is deprecated.

Speech recognition is automatically started when fragment is created, but not when fragment is restored from an instance state. Activity may manually call startRecognition(), typically in onNewIntent().

Summary

Nested classes

interface SearchFragment.SearchResultProvider

Search API to be provided by the application. 

Inherited constants

Public constructors

SearchFragment()

Public methods

static Bundle createArgs(Bundle args, String query, String title)
static Bundle createArgs(Bundle args, String query)
void displayCompletions(CompletionInfo[] completions)

Displays the completions shown by the IME.

void displayCompletions(List<String> completions)

Displays the completions shown by the IME.

Drawable getBadgeDrawable()

Returns the badge drawable in the search bar.

Intent getRecognizerIntent()

Returns an intent that can be used to request speech recognition.

RowsFragment getRowsFragment()

Returns RowsFragment that shows result rows.

String getTitle()

Returns the title set in the search bar.

static SearchFragment newInstance(String query)

Creates a search fragment with a given search query.

void onCreate(Bundle savedInstanceState)
View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
void onDestroy()
void onPause()
void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults)
void onResume()
void onStart()
void setBadgeDrawable(Drawable drawable)

Sets the badge drawable that will be shown inside the search bar next to the title.

void setOnItemViewClickedListener(OnItemViewClickedListener listener)

Sets an item clicked listener for the results.

void setOnItemViewSelectedListener(OnItemViewSelectedListener listener)

Sets an item selection listener for the results.

void setSearchAffordanceColors(SearchOrbView.Colors colors)

Sets background color of not-listening state search orb.

void setSearchAffordanceColorsInListening(SearchOrbView.Colors colors)

Sets background color of listening state search orb.

void setSearchQuery(String query, boolean submit)

Sets the text of the search query and optionally submits the query.

void setSearchQuery(Intent intent, boolean submit)

Sets the text of the search query based on the RecognizerIntent.EXTRA_RESULTS in the given intent, and optionally submit the query.

void setSearchResultProvider(SearchFragment.SearchResultProvider searchResultProvider)

Sets the search provider that is responsible for returning results for the search query.

void setSpeechRecognitionCallback(SpeechRecognitionCallback callback)

This method was deprecated in API level 0.0.0. Launching voice recognition activity is no longer supported. App should declare android.permission.RECORD_AUDIO in AndroidManifest file.

void setTitle(String title)

Sets the title string to be be shown in an empty search bar.

void startRecognition()

Starts speech recognition.

Inherited methods

Public constructors

SearchFragment

public SearchFragment ()

Public methods

createArgs

public static Bundle createArgs (Bundle args, 
                String query, 
                String title)

Parameters
args Bundle

query String

title String

Returns
Bundle

createArgs

public static Bundle createArgs (Bundle args, 
                String query)

Parameters
args Bundle: Bundle to use for the arguments, if null a new Bundle will be created.

query String

Returns
Bundle

displayCompletions

public void displayCompletions (CompletionInfo[] completions)

Displays the completions shown by the IME. An application may provide a list of query completions that the system will show in the IME.

Parameters
completions CompletionInfo: A list of completions to show in the IME. Setting to null or empty will clear the list.

displayCompletions

public void displayCompletions (List<String> completions)

Displays the completions shown by the IME. An application may provide a list of query completions that the system will show in the IME.

Parameters
completions List: A list of completions to show in the IME. Setting to null or empty will clear the list.

getBadgeDrawable

public Drawable getBadgeDrawable ()

Returns the badge drawable in the search bar.

Returns
Drawable

getRecognizerIntent

public Intent getRecognizerIntent ()

Returns an intent that can be used to request speech recognition. Built from the base RecognizerIntent.ACTION_RECOGNIZE_SPEECH plus extras:

For handling the intent returned from the service, see setSearchQuery(Intent, boolean).

Returns
Intent

getRowsFragment

public RowsFragment getRowsFragment ()

Returns RowsFragment that shows result rows. RowsFragment is initialized after SearchFragment.onCreateView().

Returns
RowsFragment RowsFragment that shows result rows.

getTitle

public String getTitle ()

Returns the title set in the search bar.

Returns
String

newInstance

public static SearchFragment newInstance (String query)

Creates a search fragment with a given search query.

You should only use this if you need to start the search fragment with a pre-filled query.

Parameters
query String: The search query to begin with.

Returns
SearchFragment A new SearchFragment.

onCreate

public void onCreate (Bundle savedInstanceState)

Parameters
savedInstanceState Bundle

onCreateView

public View onCreateView (LayoutInflater inflater, 
                ViewGroup container, 
                Bundle savedInstanceState)

Parameters
inflater LayoutInflater

container ViewGroup

savedInstanceState Bundle

Returns
View

onDestroy

public void onDestroy ()

onPause

public void onPause ()

onRequestPermissionsResult

public void onRequestPermissionsResult (int requestCode, 
                String[] permissions, 
                int[] grantResults)

Parameters
requestCode int

permissions String

grantResults int

onResume

public void onResume ()

onStart

public void onStart ()

setBadgeDrawable

public void setBadgeDrawable (Drawable drawable)

Sets the badge drawable that will be shown inside the search bar next to the title.

Parameters
drawable Drawable

setOnItemViewClickedListener

public void setOnItemViewClickedListener (OnItemViewClickedListener listener)

Sets an item clicked listener for the results.

Parameters
listener OnItemViewClickedListener: The item clicked listener to be invoked when an item in the search results is clicked.

setOnItemViewSelectedListener

public void setOnItemViewSelectedListener (OnItemViewSelectedListener listener)

Sets an item selection listener for the results.

Parameters
listener OnItemViewSelectedListener: The item selection listener to be invoked when an item in the search results is selected.

setSearchAffordanceColors

public void setSearchAffordanceColors (SearchOrbView.Colors colors)

Sets background color of not-listening state search orb.

Parameters
colors SearchOrbView.Colors: SearchOrbView.Colors.

setSearchAffordanceColorsInListening

public void setSearchAffordanceColorsInListening (SearchOrbView.Colors colors)

Sets background color of listening state search orb.

Parameters
colors SearchOrbView.Colors: SearchOrbView.Colors.

setSearchQuery

public void setSearchQuery (String query, 
                boolean submit)

Sets the text of the search query and optionally submits the query. Either onQueryTextChange or onQueryTextSubmit will be called on the provider if it is set.

Parameters
query String: The search query to set.

submit boolean: Whether to submit the query.

setSearchQuery

public void setSearchQuery (Intent intent, 
                boolean submit)

Sets the text of the search query based on the RecognizerIntent.EXTRA_RESULTS in the given intent, and optionally submit the query. If more than one result is present in the results list, the first will be used.

Parameters
intent Intent: Intent received from a speech recognition service.

submit boolean: Whether to submit the query.

setSearchResultProvider

public void setSearchResultProvider (SearchFragment.SearchResultProvider searchResultProvider)

Sets the search provider that is responsible for returning results for the search query.

Parameters
searchResultProvider SearchFragment.SearchResultProvider

setSpeechRecognitionCallback

public void setSpeechRecognitionCallback (SpeechRecognitionCallback callback)

This method was deprecated in API level 0.0.0.
Launching voice recognition activity is no longer supported. App should declare android.permission.RECORD_AUDIO in AndroidManifest file.

Sets this callback to have the fragment pass speech recognition requests to the activity rather than using a SpeechRecognizer object.

Parameters
callback SpeechRecognitionCallback

setTitle

public void setTitle (String title)

Sets the title string to be be shown in an empty search bar. The title may be placed in a call-to-action, such as "Search title" or "Speak to search title".

Parameters
title String

startRecognition

public void startRecognition ()

Starts speech recognition. Typical use case is that activity receives onNewIntent() call when user clicks a MIC button. Note that SearchFragment automatically starts speech recognition at first time created, there is no need to call startRecognition() when fragment is created.