Most visited

Recently visited

SearchFragment

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()中。

Summary

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)

根据给定意图中的 EXTRA_RESULTS设置搜索查询的文本,并可以选择提交查询。

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

Public constructors

SearchFragment

SearchFragment ()

Public methods

createArgs

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

Parameters
args Bundle
query String
title String
Returns
Bundle

createArgs

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

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.

displayCompletions

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.

getBadgeDrawable

Drawable getBadgeDrawable ()

返回搜索栏中可绘制的徽章。

Returns
Drawable

getRecognizerIntent

Intent getRecognizerIntent ()

返回可用于请求语音识别的意图。 从基地ACTION_RECOGNIZE_SPEECH加上附加功能:

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

Returns
Intent

getTitle

String getTitle ()

返回搜索栏中的标题集。

Returns
String

newInstance

SearchFragment newInstance (String query)

使用给定的搜索查询创建搜索片段。

如果您需要使用预先填充的查询来启动搜索片段,则应该只使用它。

Parameters
query String: The search query to begin with.
Returns
SearchFragment A new SearchFragment.

onCreate

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.

onCreateView

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.

onDestroy

void onDestroy ()

当碎片不再使用时调用。 这是在onStop()之后和onDetach()之前onDetach()

onPause

void onPause ()

当碎片不再恢复时调用。 这通常与包含Activity的生命周期的Activity.onPause相关联。

onRequestPermissionsResult

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.

onResume

void onResume ()

当片段对用户可见且正在积极运行时调用。 这通常与包含Activity的生命周期的Activity.onResume相关联。

onStart

void onStart ()

当片段对用户可见时调用。 这通常与包含Activity的生命周期的Activity.onStart相关联。

setBadgeDrawable

void setBadgeDrawable (Drawable drawable)

设置将在标题旁边的搜索栏内显示的可绘制徽章。

Parameters
drawable Drawable

setOnItemViewClickedListener

void setOnItemViewClickedListener (OnItemViewClickedListener listener)

为结果设置项目单击的侦听器。

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

setOnItemViewSelectedListener

void setOnItemViewSelectedListener (OnItemViewSelectedListener listener)

设置结果的项目选择侦听器。

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

setSearchQuery

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.

setSearchQuery

void setSearchQuery (String query, 
                boolean submit)

设置搜索查询的文本并可选择提交查询。 如果已设置,则将在提供程序上调用onQueryTextChangeonQueryTextSubmit

Parameters
query String: The search query to set.
submit boolean: Whether to submit the query.

setSearchResultProvider

void setSearchResultProvider (SearchFragment.SearchResultProvider searchResultProvider)

设置负责返回搜索查询结果的搜索提供程序。

Parameters
searchResultProvider SearchFragment.SearchResultProvider

setSpeechRecognitionCallback

void setSpeechRecognitionCallback (SpeechRecognitionCallback callback)

将此回调设置为让片段将语音识别请求传递给活动,而不是使用内部识别器。

Parameters
callback SpeechRecognitionCallback

setTitle

void setTitle (String title)

将标题字符串设置为在空白搜索栏中显示。 标题可以放在号召性用语中,例如“搜索标题 ”或“对搜索标题说话”。

Parameters
title String

startRecognition

void startRecognition ()

开始语音识别。 典型的用例是当用户单击MIC按钮时,活动接收到onNewIntent()调用。 请注意,SearchFragment在第一次创建时自动启动语音识别,创建片段时不需要调用startRecognition()。

Hooray!