首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android-浮动搜寻框(SearchManager)

2012-08-24 
Android---浮动搜索框(SearchManager)浮动搜索框的使用其实并不难,而是在于它的配置非常之繁琐,对于它的使

Android---浮动搜索框(SearchManager)

浮动搜索框的使用其实并不难,而是在于它的配置非常之繁琐,对于它的使用主要是方便开发者对于程序中有搜索业务时,更好的设计UI

SearchManager具体使用步骤如下:

(1)配置search bar的相关信息,新建一个位于res/xml下的一个searchable.xml的配置文件,如默认值、是否有搜索建议或者语音搜索。

Android-浮动搜寻框(SearchManager)Android-浮动搜寻框(SearchManager)/>

?

?

?

?

(2)?manifest.xml配置,搜索结果处理的Activity将出现两种情况,一种是从其他Activity中的search bar打开一个Activtiy

专门处理搜索结果,第二种是就在当前Activity就是处理结果的Activity,先介绍第一种配置:

?

?

Android-浮动搜寻框(SearchManager)Android-浮动搜寻框(SearchManager)Android-浮动搜寻框(SearchManager)Android-浮动搜寻框(SearchManager)Android-浮动搜寻框(SearchManager)Android-浮动搜寻框(SearchManager)Android-浮动搜寻框(SearchManager)
    @Override    public void onNewIntent(Intent intent){        super.onNewIntent(intent);        //获得搜索框里值        String query=intent.getStringExtra(SearchManager.QUERY);        tvquery.setText(query);        //保存搜索记录        SearchRecentSuggestions suggestions=new SearchRecentSuggestions(this,                SearchSuggestionSampleProvider.AUTHORITY, SearchSuggestionSampleProvider.MODE);        suggestions.saveRecentQuery(query, null);        if(Intent.ACTION_SEARCH.equals(intent.getAction())){            //获取传递的数据            Bundle bundled=intent.getBundleExtra(SearchManager.APP_DATA);            if(bundled!=null){                String ttdata=bundled.getString("data");                tvdata.setText(ttdata);            }else{                tvdata.setText("no data");            }        }    }

相关知识:上面讲到了将最近的搜索值添加到搜索建议中,但却没有提到如果清理搜索建议中的值,与保存相似,SearchRecentSuggestion对象提供了一个clearHistory()方法

?

Android-浮动搜寻框(SearchManager)Android-浮动搜寻框(SearchManager)

热点排行