J'essaie d'implémenter la recherche dans mon application.Comment déclarer l'activité de recherche par défaut
Mon application contient 4 activités et je veux ajouter la boîte de dialogue de recherche seulement sur 3 d'entre eux tandis qu'un seul d'entre eux (ProductsActivity) sera le contexte par défaut.
Malheureusement, lorsque j'activer la recherche, je continue d'obtenir l'erreur suivante: "Key android.app.default_searchable expected String mais la valeur était un java.lang.Integer La valeur par défaut a été retournée."
<activity android:label="@string/app_name" class=".AppEntry" android:name=".AppEntry">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".category.CategoriesListActivity">
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data android:name="android.app.searchable" android:resource="@xml/searchable"/>
</activity>
<activity android:name=".product.ProductsActivity">
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data android:name="android.app.default_searchable" android:resource="@xml/searchable"/>
</activity>
Une idée pourquoi?
Merci
Je ne pense pas que puisque la référence @xml ne soit pas utilisée, la recherche par défaut du système sera le contexte du système – chen
Avez-vous essayé ou deviné? Tous les exemples à savoir http://developer.android.com/guide/topics/search/search-dialog.html ou http://developer.android.com/resources/samples/Wiktionary/AndroidManifest.html utilisent la syntaxe que j'ai mentionnée , avec android: valeur et non android: ressource transmise. Je parle seulement du android.app.default_searchable ici, pas le android.app.searchable. –
OK, j'ai trouvé ce qui n'allait pas - Je devrais déclarer dans l'activité CategoriesListActivity que la recherche par défaut est ProductsActivity – chen