歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android 系統搜索框(有浏覽記錄)

實現Android 系統搜索框(有浏覽記錄),先看下效果:

一、配置搜索描述文件

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

<?xml version="1.0" encoding="utf-8"?> 
<searchable 
  xmlns:android="http://schemas.android.com/apk/res/android" 
  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 系統搜索框(有浏覽記錄)

Copyright © Linux教程網 All Rights Reserved