public class SearchFragment
extends Fragment
java.lang.Object | ||
↳ | android.app.Fragment | |
↳ | android.support.v17.leanback.app.SearchFragment |
处理搜索的片段。 应用程序将提供SearchFragment.SearchResultProvider
接口的实现来处理搜索并返回包含结果的ObjectAdapter
。 结果以与RowsFragment
相同的方式呈现为BrowseFragment
。
如果您不通过setSpeechRecognitionCallback(SpeechRecognitionCallback)
提供回调, setSpeechRecognitionCallback(SpeechRecognitionCallback)
使用内部语音识别器,您的应用程序需要在AndroidManifest文件中声明android.permission.RECORD_AUDIO。 如果应用的目标版本大于等于23且设备版本大于等于23,则会使用语音识别功能首次显示权限对话框。 0将用作requestPermissions()调用中的requestCode。
语音识别在创建片段时自动启动,但在片段从实例状态恢复时不会自动启动。 活动可以手动调用startRecognition()
,通常在onNewIntent()中。
Nested classes |
|
---|---|
interface |
SearchFragment.SearchResultProvider 搜索API由应用程序提供。 |
Inherited XML attributes |
|
---|---|
From class android.app.Fragment
|
Inherited constants |
---|
From interface android.content.ComponentCallbacks2
|
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) 显示IME显示的完成。 |
void |
displayCompletions(List<String> completions) 显示IME显示的完成。 |
Drawable |
getBadgeDrawable() 返回搜索栏中可绘制的徽章。 |
Intent |
getRecognizerIntent() 返回可用于请求语音识别的意图。 |
String |
getTitle() 返回搜索栏中的标题集。 |
static SearchFragment |
newInstance(String 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) 设置将在标题旁边的搜索栏内显示的可绘制徽章。 |
void |
setOnItemViewClickedListener(OnItemViewClickedListener listener) 为结果设置项目单击的侦听器。 |
void |
setOnItemViewSelectedListener(OnItemViewSelectedListener listener) 设置结果的项目选择侦听器。 |
void |
setSearchQuery(Intent intent, boolean submit) 根据给定意图中的 |
void |
setSearchQuery(String query, boolean submit) 设置搜索查询的文本并可选择提交查询。 |
void |
setSearchResultProvider(SearchFragment.SearchResultProvider searchResultProvider) 设置负责返回搜索查询结果的搜索提供程序。 |
void |
setSpeechRecognitionCallback(SpeechRecognitionCallback callback) 将此回调设置为让片段将语音识别请求传递给活动,而不是使用内部识别器。 |
void |
setTitle(String title) 将标题字符串设置为在空白搜索栏中显示。 |
void |
startRecognition() 开始语音识别。 |
Inherited methods |
|
---|---|
From class android.app.Fragment
|
|
From class java.lang.Object
|
|
From interface android.content.ComponentCallbacks2
|
|
From interface android.view.View.OnCreateContextMenuListener
|
|
From interface android.content.ComponentCallbacks
|
SearchFragment ()
Bundle createArgs (Bundle args, String query, String title)
Parameters | |
---|---|
args |
Bundle
|
query |
String
|
title |
String
|
Returns | |
---|---|
Bundle |
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 |
void displayCompletions (CompletionInfo[] completions)
显示IME显示的完成。 应用程序可以提供系统将在IME中显示的查询完成列表。
Parameters | |
---|---|
completions |
CompletionInfo : A list of completions to show in the IME. Setting to null or empty will clear the list. |
void displayCompletions (List<String> completions)
显示IME显示的完成。 应用程序可以提供系统将在IME中显示的查询完成列表。
Parameters | |
---|---|
completions |
List : A list of completions to show in the IME. Setting to null or empty will clear the list. |
Intent getRecognizerIntent ()
返回可用于请求语音识别的意图。 从基地ACTION_RECOGNIZE_SPEECH
加上附加功能:
EXTRA_LANGUAGE_MODEL
set to LANGUAGE_MODEL_FREE_FORM
EXTRA_PARTIAL_RESULTS
set to trueEXTRA_PROMPT
set to the search bar hint textsetSearchQuery(Intent, boolean)
.
Returns | |
---|---|
Intent |
SearchFragment newInstance (String query)
使用给定的搜索查询创建搜索片段。
如果您需要使用预先填充的查询来启动搜索片段,则应该只使用它。
Parameters | |
---|---|
query |
String : The search query to begin with. |
Returns | |
---|---|
SearchFragment |
A new SearchFragment. |
void onCreate (Bundle savedInstanceState)
被调用来做一个片段的初始创建。 这将在onAttach(Activity)
之后和onAttach(Activity)
之前onCreateView(LayoutInflater, ViewGroup, Bundle)
,但如果片段实例在Activity重新创建期间保留(请参阅setRetainInstance(boolean)
),则不调用该实例。
请注意,这可以在片段的活动仍处于创建过程中时调用。 因此,您不能依赖于此时正在初始化活动的内容视图层次结构。 如果您想在创建活动本身后进行工作,请参阅onActivityCreated(Bundle)
。
如果您的应用targetSdkVersion
为23或更低,则在onCreate
返回后将恢复从savedInstanceState恢复的子片段。 当瞄准N或更高版本并且在N或更新的平台版本上运行时,它们通过Fragment.onCreate
进行恢复。
Parameters | |
---|---|
savedInstanceState |
Bundle : If the fragment is being re-created from a previous saved state, this is the state. |
View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
调用以使片段实例化其用户界面视图。 这是可选的,非图形片段可以返回null(这是默认实现)。 这将在onCreate(Bundle)
和onActivityCreated(Bundle)
之间onActivityCreated(Bundle)
。
如果你从这里返回一个视图,那么当视图被释放时,你将在以后被调用 onDestroyView()
。
Parameters | |
---|---|
inflater |
LayoutInflater : The LayoutInflater object that can be used to inflate any views in the fragment, |
container |
ViewGroup : If non-null, this is the parent view that the fragment's UI should be attached to. The fragment should not add the view itself, but this can be used to generate the LayoutParams of the view. |
savedInstanceState |
Bundle : If non-null, this fragment is being re-constructed from a previous saved state as given here. |
Returns | |
---|---|
View |
Return the View for the fragment's UI, or null. |
void onRequestPermissionsResult (int requestCode, String[] permissions, int[] grantResults)
从请求权限回调结果。 在requestPermissions(String[], int)
上调用此方法。
注意:与用户的权限请求交互可能会中断。 在这种情况下,您将收到空权限和结果数组,这些数据应视为取消。
Parameters | |
---|---|
requestCode |
int : The request code passed in requestPermissions(String[], int) . |
permissions |
String : The requested permissions. Never null. |
grantResults |
int : The grant results for the corresponding permissions which is either PERMISSION_GRANTED or PERMISSION_DENIED . Never null. |
void setBadgeDrawable (Drawable drawable)
设置将在标题旁边的搜索栏内显示的可绘制徽章。
Parameters | |
---|---|
drawable |
Drawable
|
void setOnItemViewClickedListener (OnItemViewClickedListener listener)
为结果设置项目单击的侦听器。
Parameters | |
---|---|
listener |
OnItemViewClickedListener : The item clicked listener to be invoked when an item in the search results is clicked. |
void setOnItemViewSelectedListener (OnItemViewSelectedListener listener)
设置结果的项目选择侦听器。
Parameters | |
---|---|
listener |
OnItemViewSelectedListener : The item selection listener to be invoked when an item in the search results is selected. |
void setSearchQuery (Intent intent, boolean submit)
根据给定意图中的EXTRA_RESULTS
设置搜索查询的文本,并可以选择提交查询。 如果结果列表中存在多个结果,则会使用第一个结果。
Parameters | |
---|---|
intent |
Intent : Intent received from a speech recognition service. |
submit |
boolean : Whether to submit the query. |
void setSearchQuery (String query, boolean submit)
设置搜索查询的文本并可选择提交查询。 如果已设置,则将在提供程序上调用onQueryTextChange
或onQueryTextSubmit
。
Parameters | |
---|---|
query |
String : The search query to set. |
submit |
boolean : Whether to submit the query. |
void setSearchResultProvider (SearchFragment.SearchResultProvider searchResultProvider)
设置负责返回搜索查询结果的搜索提供程序。
Parameters | |
---|---|
searchResultProvider |
SearchFragment.SearchResultProvider
|
void setSpeechRecognitionCallback (SpeechRecognitionCallback callback)
将此回调设置为让片段将语音识别请求传递给活动,而不是使用内部识别器。
Parameters | |
---|---|
callback |
SpeechRecognitionCallback
|
void setTitle (String title)
将标题字符串设置为在空白搜索栏中显示。 标题可以放在号召性用语中,例如“搜索标题 ”或“对搜索标题说话”。
Parameters | |
---|---|
title |
String
|
void startRecognition ()
开始语音识别。 典型的用例是当用户单击MIC按钮时,活动接收到onNewIntent()调用。 请注意,SearchFragment在第一次创建时自动启动语音识别,创建片段时不需要调用startRecognition()。