实现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. block 解析 - 形参变量

    block形参 之前漏了一篇block形参的介绍,这里给补上. block形参就是定义block带的参数,和函数的参数使用一样,我们可以在block随意使用修改block形参. 我们来看个例子: 我们 ...

  2. 【转】如何在CentOS/RHEL中安装基于Web的监控系统 linux-das

    Linux-dash是一款为Linux设计的基于Web的轻量级监控面板.这个程序会实时显示各种不同的系统属性,比如CPU负载.RAM使用率.磁盘使用率.网速.网络连接.RX/TX带宽.登录用户.运行的 ...

  3. 演练5-2:Contoso大学校园管理2

    一.添加列标题排序功能 我们将增加Student/Index页面的功能,为列标题添加超链接,用户可以点击列标题对那一列进行排序. 1.修改Index方法 public ActionResult Ind ...

  4. Codeforces 468D Tree

    题目 给出一棵带边权的树,求一个排列\(p\),使得\(\sum_{i=1}^{n}{dis(i, p_i)}\)的值最大,其中\(dis(v, u)\)表示\(v\)到\(u\)的距离. 算法 这题 ...

  5. MySQL如何查询LINESTRING数据

    我有一个提交的命名crm_geo_org,具有以下结构 ipoid INTEGER 11 NOT NULL PRIMARY KEY beginip INTEGER 14 NOT NULL UNSIGN ...

  6. Haxe UI框架StablexUI的使用备忘与心得(序)

    最近在手上的项目开发中,从原来的使用Sprite全手写UI,开始逐步使用StablexUI,感觉还是相当不错的,强大.高效.轻量.灵活,非常适应我当前的实际需求. 不过作为小种语言的一个小众第三方开源 ...

  7. C#:总结页面传值几种方法

    小知识点: 1.  W7自带 .NetFrameWork 3.5, 兼容模式为 高版本号兼容低版本号: 2. WF和WPF都是基于XAML的,可是两者的用途不同. WF是一种开发框架,将工作流嵌入在. ...

  8. Swift学习笔记十三:继承

    一个类能够继承(inherit)还有一个类的方法(methods),属性(property)和其他特性 一.基本的语法 class Human{ var name :String init(){ na ...

  9. Android-onInterceptTouchEvent()和onTouchEvent()总结

    老实说,这两个小东东实在是太麻烦了,很不好懂,我自己那api文档都头晕,在网上找到很多资料,才知道是怎么回事,这里总结一下,记住这个原则就会很清楚了: 1.onInterceptTouchEvent( ...

  10. 将DataTable 存到一个集合当中

    将DataTable 存到一个集合中 此做法来自:http://www.codeproject.com/Articles/692832/Simple-way-of-using-SQL-DataTabl ...