SearchFragment
public
class
SearchFragment
extends Fragment
java.lang.Object | ||
↳ | android.app.Fragment | |
↳ | androidx.leanback.app.SearchFragment |
This class is deprecated.
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 |
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 is deprecated. 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:
RecognizerIntent.EXTRA_LANGUAGE_MODEL
set toRecognizerIntent.LANGUAGE_MODEL_FREE_FORM
RecognizerIntent.EXTRA_PARTIAL_RESULTS
set to trueRecognizerIntent.EXTRA_PROMPT
set to the search bar hint text
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. |
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 is deprecated.
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.
Content and code samples on this page are subject to the licenses described in the Content License. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2020-09-30 UTC.