2013-04-09 73 views
1

在search.xml文件,我有什麼是ContentProvider使用?最近搜索的建議和自定義建議

android:searchSuggestAuthority="com.---.---.MyCustomSuggestionProvider" 

但除非我錯了,如果你想實現這兩個最近的搜索和自定義搜索,您需要兩個不同的內容提供商,那麼你如何在你的配置文件中設置它?

一個延伸ContentProvider和一個擴展SearchRecentSuggestionsProvider。這表明我需要兩個不同的類,這是正確的嗎?

+2

['SearchRecentSuggestionsProvider'](http://developer.android.com/reference/android/content/SearchRecentSuggestionsProvider.html)實際上** ** IS一個'ContentProvider'。您應該可以將其用於自定義搜索。請注意,我自己並沒有這樣做,但簡單的事實,它可以被視爲一個基本的'ContentProvider'讓我相信這是可能的。 – MCeley 2013-04-09 18:06:52

+0

@MCeley我看到它是'ContentProvider'的子類。所以,如果我試圖將內容從該類複製(擴展'SearchRecentSuggestionsProvider'),一個擴展'ContentProvider',一些方法不再起作用,如'setupSuggestions(AUTHORITY,MODE);'這是行不通的? – KickingLettuce 2013-04-09 18:12:05

+1

然後不要擴展'ContentProvider'。只擴展'SearchRecentSuggestionsProvider',因爲它已經擴展了'ContentProvider'。 SearchRecentSuggestionsProvider == ContentProvider,但ContentProvider!= SearchRecentSuggestionsProvider。這就是爲什麼'setupSuggestions'停止工作,如果你只擴展'ContentProvider'。 – MCeley 2013-04-09 18:15:38

回答

0

SearchRecentSuggestionsProvider實際上IS a ContentProvider因爲它延伸ContentProvider

你應該能夠只需要你的類擴展SearchRecentSuggestionsProvider,並能夠使用它在這兩種情況下,而無需複製代碼。