实现Android 系统搜索框(有浏览记录),先看下效果:


一、配置搜索描述文件

 要在res中的xml文件加创建sreachable.xml,内容如下:

<?xml version="1.0" encoding="utf-8"?>  
<searchable  
  android:hint="@string/searchLable"  
  android:label="@string/searchLable"  
  android:searchSuggestAuthority="com.glacier.ui.SearchSuggestionProvider"  
  android:searchSuggestSelection=" ? ">  
    
</searchable>   

二、填写配置文件信息

1.搜索框的配置

<!-- 搜索动作 -->  
            <intent-filter >  
                <action android:name="android.intent.action.SEARCH" >  
                </action>  
            </intent-filter>  
  
            <meta-data  
                android:name="android.app.default_searchable"  
                android:value="MainActivity" />  
            <meta-data  
                android:name="android.app.searchable"  
                android:resource="@xml/searchable" >  
            </meta-data> 

2.保存内容的配置

<provider  
            android:authorities="com.glacier.ui.SearchSuggestionProvider"  
            android:name="com.glacier.ui.SearchSuggestionProvider" >  
        </provider> 

三、调用启动搜索框方法

//弹出搜索框
onSearchRequested();

可以重新写系统的方法做些必要的内容加载其他
@Override  
public boolean onSearchRequested(){  
    //打开浮动搜索框(第一个参数默认添加到搜索框的值)        
    startSearch(null, false, null, false);  
    return true;  
}  
    
 //得到搜索结果  
    @Override  
    public void onNewIntent(Intent intent){  
        super.onNewIntent(intent);  
        //获得搜索框里值  
        query=intent.getStringExtra(SearchManager.QUERY);  
        System.out.println(query);  
        //保存搜索记录  
        SearchRecentSuggestions suggestions=new SearchRecentSuggestions(MainActivity.this,  
                SearchSuggestionProvider.AUTHORITY, SearchSuggestionProvider.MODE);  
        suggestions.saveRecentQuery(query, null);  
        System.out.println("保存成功");  
    } 

四、记得要写存储的地方

import android.content.SearchRecentSuggestionsProvider;  
  
public class SearchSuggestionProvider extends SearchRecentSuggestionsProvider {  
  
    public final static String AUTHORITY="com.glacier.ui.SearchSuggestionProvider";  
    public final static int MODE=DATABASE_MODE_QUERIES;  
      
    public SearchSuggestionProvider(){  
        super();  
        setupSuggestions(AUTHORITY, MODE);  
    }  

 

源码下载地址

 

免费下载地址在 
http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /2012年资料/11月/30日/Android 系统搜索框(有浏览记录)

本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:
http://www.linuxidc.com/Linux/2012-11/75136.htm

Android 系统搜索框(有浏览记录)的更多相关文章

  1. android浮动搜索框

    android浮动搜索框的配置比较繁琐,需要配置好xml文件才能实现onSearchRequest()方法. 1.配置搜索的XML配置文件​,新建文件searchable.xml,保存在res/xml ...

  2. Android actionbar 搜索框

    就是实如今顶部这种搜索框. 一.这个搜索框是actionbar上的menu上的一个item.叫SearchView.我们能够先在menu选项里定义好: bmap_menu.xml: <?xml ...

  3. Android 浮动搜索框 searchable 使用(转)。

    Android为程序的搜索功能提供了统一的搜索接口,search dialog和search widget,这里介绍search dialog使用.search dialog 只能为于activity ...

  4. Android的搜索框SearchView的用法-android学习之旅(三十九)

    SearchView简介 SearchView是搜索框组件,他可以让用户搜索文字,然后显示.' 代码示例 这个示例加了衣蛾ListView用于为SearchView增加自动补全的功能. package ...

  5. Xamarin.Android 制作搜索框

    前段时间仿QQ做了一个搜索框样式,个人认为还不错,留在这里给大家做个参考,希望能帮助到有需要的人. 首先上截图(图1:项目中的样式,图2:demo样式): 不多说直接上代码: Main.axml &l ...

  6. (转)Android SearchView 搜索框

    如果对这个效果感觉不错, 请往下看. 背景: 天气预报app, 本地数据库存储70个大中城市的基本信息, 根据用户输入的或通过搜索框选取的城市, 点击查询按钮后, 异步请求国家气象局数据, 得到返回的 ...

  7. Android学习笔记_79_ Android 使用 搜索框

    1.在资源文件夹下创建xml文件夹,并创建一个searchable.xml: android:searchSuggestAuthorityshux属性的值跟实现SearchRecentSuggesti ...

  8. iOS开发UI篇 -- UISearchBar 属性、方法详解及应用(自定义搜索框样式)

    很多APP都会涉及到搜索框,苹果也为我们提供了默认的搜索框UISearchBar.但实际项目中我们通常需要更改系统默认搜索框的样式.为了实现这一目标,我们需要先搞懂 UISearchBar 的属性及方 ...

  9. Android系统移植与调试之------->build.prop生成过程分析

    本文简要分析一下build.prop是如何生成的.Android的build.prop文件是在Android编译时刻收集的各种property(LCD density/语言/编译时间, etc.),编 ...

随机推荐

  1. CSS - ResetCss

    /* KISSY CSS Reset 理念:清除和重置是紧密不可分的 特色:1.适应中文 2.基于最新主流浏览器 */ /* 清除内外边距 */ body, h1, h2, h3, h4, h5, h ...

  2. Sqrt(x) 牛顿迭代法

    为了实现sqrt(x),可以将问题看成是求解\(x^2-y=0\) ,即sqrt(y)=x: 牛顿法是求解方程的近似方法,给定初始点\((x0,f(x0))\),迭代公式为: #include < ...

  3. IntelliJ IDEA导出Java 可执行Jar包

    原文:IntelliJ IDEA导出Java 可执行Jar包 保证自己的Java代码是没有问题的,在IDEA里面是可以正常运行的,然后,按下面步骤: 打开File -> Project Stru ...

  4. 获取证书以用于 Windows Azure 网站 (WAWS)

    编辑人员注释:本文章由 Windows Azure 网站团队的项目经理 Erez Benari 撰写. 近年来,随着网络犯罪的上升,使用 SSL 保护网站逐渐成为一项备受追捧的功能,Windows A ...

  5. (1)ActivityThread分析

    1. 入口. 曾经一直都说Activity的人口是onCreate方法.事实上android上一个应用的入口,应该是ActivityThread.和普通的java类一样,入口是一个main方法. pu ...

  6. C语言声明解析方法

    1.C语言声明的单独语法成份     声明器是C语言声明的非常重要成份,他是所有声明的核心内容,简单的说:声明器就是标识符以及与它组合在一起的任何指针.函数括号.数组下表等,为了方便起见这里进行分类表 ...

  7. on、where、having的区别(转载)

    on.where.having的区别 on.where.having这三个都可以加条件的子句中,on是最先执行,where次之,having最后.有时候如果这先后顺序不影响中间结果的话,那最终结果是相 ...

  8. Windows Azure入门教学系列 (二):部署第一个Web Role程序

    本文是Windows Azure入门教学的第二篇文章. 在第一篇教学中,我们已经创建了第一个Web Role程序.在这篇教学中,我们将学习如何把该Web Role程序部署到云端. 注意:您需要购买Wi ...

  9. js 动态切换视频

    如图所示,想要一个这样的效果,就是点击下面视频标题时,上面的视频跟着切换,但是要求页面不重新加载. 参考文章在这里 这里贴上部分代码供大家参考. <li id="about_li6&q ...

  10. 使用boost io_service时,需要注意的东西

    boost::asio 在创建io_service时,可以指定线程数,如果没有指定,默认是一个线程,也就是io_service run的那个线程,如果没有任务运行,该线程会退出. 如果在创建的时候指定 ...