2010-11-18 16 views
3

Uygulamamdaki verileri görüntülemek için hızlıca arama özelliğini özelleştiriyorum. İyi çalışıyor. Şimdi sorun şu ki, arama düğmesine tıkladığımda, arama geçmişini göremiyorum. Arama geçmişini (daha önce aranan anahtar kelimeler) ne almalıyım?android arama hızlı arama geçmişi

Çok acil bir durum var, bu konuda bana nasıl yardımcı olabilir? Eğer developer.android.com üzerinde öğretici geçmesi durumunda

cevap

2

, seni aradığınızı bulacaksınız düşünüyorum:

http://developer.android.com/guide/topics/search/adding-recent-query-suggestions.html

hüner SearchRecentSuggestionsProvider uzanan ContentProvider uygulamaktır.

Ayrıca
<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> 

kaydetmek gerekir:

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); 
    } 
} 

beyannamesine sizin sağlayıcı ekleyin ve sizin sağlayıcının bilmesi için searchable.xml dosyasını güncellemeyi unutmayın: Basit bir sınıf var Aranabilir aktivitenizdeki aramalar:

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); 
} 
+0

Merhaba, cevap verdiğiniz için teşekkür ederim, bunu denedim, prob'um var, normal öneri çalışmam. Yani, hızlı aramayı kullanarak veritabanımı araştırmak benim için mükemmel bir şekilde çalışıyor, arama düğmesine tıkladığımda yalnızca son öneriler gelmiyor. Artık ContentProvider'ı genişleten bir sağlayıcı var. Aynı sağlayıcıyı değiştirmem gerekiyor mu yoksa SearchRecentSuggestionsProvider'ı genişleten ayrı sağlayıcıyı kullanmalıyım. Cevap verdiğiniz için çok teşekkürler. – Padma

İlgili konular