die letzten Suchen werden nicht angezeigt, benutzerdefinierte Vorschläge sind

8

Ich habe ein Such-Widget (SearchView), das während der Eingabe benutzerdefinierte Vorschläge anzeigt. Ich habe dem offiziellen Leitfaden gefolgt, um letzte Anfragen zu Vorschlägen hinzuzufügen, aber Ich habe NUR benutzerdefinierte Vorschläge.
Für jede Suche nennen meine Fragmente diese Funktion (verifiziert):

%Vor%

Mein Vorschlagsanbieter scheint in Ordnung zu sein:

%Vor%

suchbare.xml:

%Vor%

Manifest:                                   

%Vor%

Gemäß diesem Post , ich soll eine neue Such-DB bei data / data / app.package.name / databases / database_name.db haben, aber anscheinend nicht ...
Oder soll ich die "letzten Suchvorschläge" selbst in den Cursor einfügen, den MyCustomSuggestionProvider.query () zurückgibt? Jede Idee ist willkommen ...

    
elgui 04.07.2012, 12:53
quelle

3 Antworten

6

Ich fand es: Es war überhaupt nicht klar in der Android-Dokumentation, aber ich muss die Anfrage selbst machen und Cursor in MyCustomSuggestionProvider.query ():

zusammenführen %Vor%

Stellen Sie sicher, dass Sie in beiden die gleichen Spalten haben ...

    
elgui 04.07.2012, 15:29
quelle
1
%Vor%

Oben ist die Liste der Spalten, die in den letzten Suchvorschlägen db verwendet wurden. Verwenden Sie dieselbe Liste für Ihre benutzerdefinierten Suchvorschläge, um Konflikte zu vermeiden

    
Sachin 11.05.2013 04:21
quelle
1

Um auf die Antwort von Elgui einzugehen, hier ein Beispiel, wie ich die Spalten zusammengestellt habe:

%Vor%

Da dies auf den Implementierungsdetails von SearchRecentSuggestionsProvider basiert, kann es in anderen Situationen immer noch fehlschlagen und es könnte sich lohnen, Ihre eigene recents-Historie zu schreiben und sie zusammen zu machen.

    
Learn OpenGL ES 17.10.2014 01:01
quelle

Tags und Links