Si vous passez par le tutoriel sur developer.android.com, je pense que vous trouverez ce que vous cherchez:
http://developer.android.com/guide/topics/search/adding-recent-query-suggestions.html
L'astuce consiste à mettre en œuvre un ContentProvider qui s'étend SearchRecentSuggestionsProvider. Il est une classe simple:
public class MySuggestionProvider extends SearchRecentSuggestionsProvider {
public final static String AUTHORITY = "com.example.MySuggestionProvider";
public final static int MODE = DATABASE_MODE_QUERIES;
public MySuggestionProvider() {
setupSuggestions(AUTHORITY, MODE);
}
}
N'oubliez pas d'ajouter votre fournisseur au manifeste, et mettre à jour votre fichier searchable.xml pour qu'il sache de votre fournisseur:
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/app_label"
android:hint="@string/search_hint"
android:searchSuggestAuthority="com.example.MySuggestionProvider"
android:searchSuggestSelection=" ?" >
</searchable>
Aussi, vous devrez sauver la recherche dans votre activité de recherche:
if (Intent.ACTION_SEARCH.equals(Intent .getAction())) {
String query = Intent .getStringExtra(SearchManager.QUERY);
SearchRecentSuggestions suggestions = new SearchRecentSuggestions(this,
MySuggestionProvider.AUTHORITY, MySuggestionProvider.MODE);
suggestions.saveRecentQuery(query, null);
}
salut merci pour votre réponse, j'ai essayé cela, le problème que j'ai eu est, ma suggestion normale elle-même ne fonctionne pas. C'est-à-dire, en cherchant maintenant ma base de données using la recherche rapide fonctionne parfaitement pour moi, seulement les suggestions récentes ne viennent pas quand je clique sur le bouton de recherche. Maintenant, j'ai un fournisseur qui étend ContentProvider. Ai-je besoin de changer le même fournisseur ou je devrais utiliser le fournisseur séparé qui étend le SearchRecentSuggestionsProvider. Merci beaucoup pour votre réponse. – Padma