diff --git a/docs/html/preview/tv/ui/in-app-search.jd b/docs/html/preview/tv/ui/in-app-search.jd deleted file mode 100644 index 3dbfcd293d15a..0000000000000 --- a/docs/html/preview/tv/ui/in-app-search.jd +++ /dev/null @@ -1,111 +0,0 @@ -page.title=Adding Search to TV Apps - -@jd:body - -
Users frequently have specific content in mind when using a media app. A search interface can - help your users get to the content they want faster than browsing. The Leanback library provides a - set of classes to enable a standard search interface within your app that is consistent with other - search functions on TV and provides features such as voice input.
- -When you use the BrowseFragment class for your media browsing interface, you can enable the - search icon by setting an OnClickListener to the BrowseFragment object. The following sample code - demonstrates this technique.
- -
-@Override
-public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.browse_activity);
-
- mBrowseFragment = (BrowseFragment)
- getFragmentManager().findFragmentById(R.id.browse_fragment);
-
- ...
-
- mBrowseFragment.setOnSearchClickedListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Intent intent = new Intent(BrowseActivity.this, SearchActivity.class);
- startActivity(intent);
- }
- });
-
- mBrowseFragment.setAdapter(buildAdapter());
-}
-
-
-- Note: You can set the color of the search icon using the - {@code setSearchAffordanceColor()} method of {@code BrowseFragment}. -
- -When a user selects the search icon, the system invokes a search activity via the defined - Intent. Your search activity should use a linear layout containing a SearchFragment. This fragment - must also implement the SearchFragment.SearchResultProvider interface in order to display the - results of a search. The following code sample shows how to extend the SearchFragment class to - provide a search interface and results:
- -
-public class MySearchFragment extends SearchFragment
- implements SearchFragment.SearchResultProvider {
-
- private static final int SEARCH_DELAY_MS = 300;
- private ArrayObjectAdapter mRowsAdapter;
- private Handler mHandler = new Handler();
- private SearchRunnable mDelayedLoad;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- mRowsAdapter = new ArrayObjectAdapter(new ListRowPresenter());
- setSearchResultProvider(this);
- setOnItemClickedListener(getDefaultItemClickedListener());
- mDelayedLoad = new SearchRunnable();
- }
-
- @Override
- public ObjectAdapter getResultsAdapter() {
- return mRowsAdapter;
- }
-
- @Override
- public boolean onQueryTextChange(String newQuery) {
- mRowsAdapter.clear();
- if (!TextUtils.isEmpty(newQuery)) {
- mDelayedLoad.setSearchQuery(newQuery);
- mHandler.removeCallbacks(mDelayedLoad);
- mHandler.postDelayed(mDelayedLoad, SEARCH_DELAY_MS);
- }
- return true;
- }
-
- @Override
- public boolean onQueryTextSubmit(String query) {
- mRowsAdapter.clear();
- if (!TextUtils.isEmpty(query)) {
- mDelayedLoad.setSearchQuery(query);
- mHandler.removeCallbacks(mDelayedLoad);
- mHandler.postDelayed(mDelayedLoad, SEARCH_DELAY_MS);
- }
- return true;
- }
-}
-
-
-This example code shown above is meant to be used with a separate {@code SearchRunnable} - class that runs the search query on a separate thread. This technique keeps potentially - slow-running queries from blocking the main user interface thread.
- diff --git a/docs/html/training/training_toc.cs b/docs/html/training/training_toc.cs index d33372b460a70..44e31d73314c5 100644 --- a/docs/html/training/training_toc.cs +++ b/docs/html/training/training_toc.cs @@ -851,6 +851,7 @@ include the action bar on devices running Android 2.1 or higher."