Widget de recherche sur la barre d'action de ne pas déclencher mon activité de recherche
Je suis le développement de widget de recherche de l'interface basée sur le tutoriel officiel: http://developer.android.com/guide/topics/search/search-dialog.html
Problème: Mon SearchableActivity ne pas se déclencher quand j'entre dans ma requête et appuyez sur Ok/enter.
Manifeste pour SearchableActivity:
<activity android:name="SearchableActivity" android:launchMode="singleTop" >
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity>
xml/searchable.xml
<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:hint="Search" android:label="@string/app_name" >
</searchable>
L'activité principale de cycle de vie de la méthode qui ajoute des icônes de la barre d'action (fonctionne très bien):
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
//Get the SearchView and set the searchable configuration
SearchManager searchManager = (SearchManager)getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
//Do not iconify the widget;expand it by default
searchView.setIconifiedByDefault(false);
return true;
}
SearchableActivity.java
public class SearchableActivity extends ListActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("MY", "search activity triggered");
}
}
Remarque: Le widget de recherche apparaissent sur la barre d'action et je peux insérer des données, mais en appuyant sur la touche OK/Enter ne pas me prendre la SearchableActivity (ne déclenche pas onCreate de la SearchableActivity).
Suis-je raté quelque chose ou est le tutoriel officiel imparfait?
Vous devez vous connecter pour publier un commentaire.
Problème résolu: le tutoriel semble manquer un élément important:
<meta-data android:name="android.app.default_searchable" android:value=".MySearchActivityName" />
doit être ajouté à l'intérieur de<application>
balises dans le manifeste pour obtenir le widget de recherche fonctionne correctement.MODIFIER- Aussi une allusion à la résolution d'un problème lors de l'actionbar de recherche n'est pas déclenché sur les données de l'affichage (pas d'erreur donnée que ce soit et de la documentation n'a pas eu un mot à propos de cette limitation): dans searchable.xml fichier android:hint et android:label attributs DOIT être des références à des chaînes en strings.xml. Source
Vous devez remplacer
onOptionsItemSelected
et probablementonSearchRequested
dans votre activité.onOptionsItemSelected
Si "xml/searchable.xml" le fichier n'est pas correctement formaté (des choses comme "consultable" tag pas dans tous les cas inférieur), il n'y a pas de message d'erreur renvoyé lors de l'exécution et de la "SearchableActivity" n'est pas appelé.