La actividad de búsqueda de Android no comienza

Mi cuadro de búsqueda no se muestra cuando presiono el botón de búsqueda en mi teléfono Android. Lo que quiero hacer es hacer una ASyncTask (o tarea en segundo plano) para obtener una respuesta JSON de una serie de cadenas (nombres de personas), buscar a través del resultado y mostrarlo al usuario utilizando la misma funcionalidad de búsqueda que tiene IMDB. Actualmente, estoy usando una matriz de cadenas para probar mi respuesta / solicitud de búsqueda. ¿Algunas ideas

Recibo las siguientes advertencias cuando presiono el botón de búsqueda (pero creo que esto no está relacionado con mi problema):

04-21 03:35:23.767: WARN/KeyCharacterMap(12946): Can't open keycharmap file
04-21 03:36:48.978: WARN/KeyCharacterMap(12999): Error loading keycharmap file '/system/usr/keychars/qtouch-touchscreen.kcm.bin'. hw.keyboards.65537.devname='qtouch-touchscreen'
04-21 03:37:21.408: WARN/KeyCharacterMap(2576): Using default keymap: /system/usr/keychars/qwerty.kcm.bin

El error a continuación se ha solucionado por cortesía de @Heiko Rupp:

04-21 03:17:51.994: WARN/SearchableInfo(1293): Invalid searchable metadata for com.redacted/.SearchActivity: Search label must be a resource reference.

SearchActivity.java:

package com.redacted;

import android.app.ListActivity;
import android.app.SearchManager;
import android.content.Intent;
import android.os.Bundle;
import android.widget.ArrayAdapter;

public class SearchActivity extends ListActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.search_results);
        handleIntent(getIntent());
    }

    @Override
    protected void onNewIntent(Intent intent) {
        setIntent(intent);
        handleIntent(intent);
    }

    private void handleIntent(Intent intent) {
        if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
            String query = intent.getStringExtra(SearchManager.QUERY);
            showResults(query);
        }
    }

    private void showResults(String q) {
        String[] listItems = { "test", "my", "search", "list" };

        setListAdapter(new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, listItems));
    }
}

searchable.xml:

<?xml version="1.0" encoding="utf-8"?>
<searchable
  xmlns:android="http://schemas.android.com/apk/res/android" 
  android:searchButtonText="Search" 
  android:label="Redacted" 
  android:hint="Redacted"
  android:voiceSearchMode="showVoiceSearchButton|launchRecognizer">
</searchable>

Part of Manifest Manifest.xml (los metadatos están dentro de la etiqueta, por lo que es global):

<activity android:launchMode="singleTop" android:name="SearchActivity">
            <intent-filter>
                <action android:name="android.intent.action.SEARCH" />
            </intent-filter>
            <meta-data android:name="android.app.searchable" 
                android:resource="@xml/searchable"/>
        </activity>
        <meta-data android:name="android.app.default_searchable"
            android:value="SearchActivity" />
    </application>

search_results.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent">
    <ListView android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/list"></ListView>
</LinearLayout>

Respuestas a la pregunta(2)

Su respuesta a la pregunta