Ontem estava eu deitadão assitindo televisão quando chega minha digníssima esposa e me solta essa pérola: "Ei seu blog está desatualizado. A última postagem foi do começo do mês...". Sendo assim, cá estou para mais um post :)
Hoje vou mostrar pra vocês, como utilizar o botão de busca na sua aplicação, que é padrão
Crie no seu projeto um arquivo chamado busca.xml dentro do diretório res/xml. Nesse arquivo ficarão as configurações do diálogo de busca:
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/app_name"
android:hint="@string/app_hint" >
</searchable>
Notem que no arquivo acima, estamos usando duas strings que devem estar definidas no arquivo /res/values/strings.xml. Tentei usar valores hard coded e não funcionou.
Em seguida, devemos informar no AndroidManifest.xml que a atividade tratará o botão de busca. Para isso, devemos adicionar um IntentFilter com a ação android.intent.action.SEARCH e o meta-data passando nosso XML criado acima:
<activity android:name=".MinhaAtividade" >
<intent-filter>
<action
android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/busca"/>
</activity>
Feito isso, basta tratar a Intent com a busca. Coloque o código abaixo no método onCreate() da sua Activity. Caso não queira que seja aberta uma nova instância da Activity a cada nova chamada a tela de busca, marque-a no AndroidManifest.xml como android:launchMode="singleTop" e trate o evento de busca no método onNewIntent().
Intent intent = getIntent();
if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
String query = intent.getStringExtra(SearchManager.QUERY);
//faça sua busca com a variável query
}
Mais informações aqui.
4br4ç05,
nglauber
Um comentário:
Nelson,
Bacana o post. Só vale lembrar que nem todos os aparelhos tem o botão de search, o X10 é um exemplo.
Postar um comentário