ventanas solas responde porque paginas ninguna las hoy funciona celular cayo carga aplicaciones aplicacion abren abre android search searchable

solas - búsqueda de Android no se abre



twitter no carga (1)

Hola, intento utilizar una actividad de búsqueda en mi aplicación, pero cuando se presiona el botón de búsqueda no sucede nada

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.test.test" android:versionCode="1" android:versionName="1.0.0" android:configChanges="keyboardHidden|orientation"> <uses-sdk android:minSdkVersion="7"/> <application android:icon="@drawable/icon" android:label="Test"> <activity android:name=".Test" android:label="Test" android:debuggable="true" android:theme="@android:style/Theme.NoTitleBar" android:launchMode="singleTask"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <activity android:name=".Searchable"> <intent-filter> <action android:name="android.intent.action.SEARCH" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> <meta-data android:name="android.app.searchable" android:resource="@xml/searchable"/> </activity> <meta-data android:name="android.app.default_searchable" android:value=".Searchable"/> </application> </manifest>

Searchable.xml (res / xml / searchable.xml)

<?xml version="1.0" encoding="utf-8"?> <searchable xmlns:android="http://schemas.android.com/apk/res/android" android:label="Search" android:hint="Perform Search"> </searchable>

Searchable.java (src / com / test / test / Searchable.java)

package com.test.test; import android.app.Activity; import android.app.SearchManager; import android.content.Intent; import android.os.Bundle; public class Searchable extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); 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); } } }

TIA,

ng93


Su actividad de Searchable tiene que hacer algo, y en realidad mostrar resultados.

Acabo de escribir uno según lo sugerido por una respuesta a una pregunta que hice ayer Intentando filtrar un ListView con runQueryOnBackgroundThread pero no ocurre nada, ¿qué me estoy perdiendo?

Consulte esta documentación sobre cómo integrarse con el soporte integrado de búsqueda: utilizando el cuadro de diálogo de búsqueda de Android y consulte este artículo sobre cómo ofrecer sugerencias a medida que el cliente escribe: Cómo agregar sugerencias personalizadas

Su clase de Searchable necesita hacer un poco más después de obtener la cadena de consulta. Por ejemplo, en mi actividad después de obtener la cadena de consulta, hago esto:

showResults(query);

y ese método se ve así:

private void showResults(String query) { // Load the list of countries based on the query Cursor countryCursor = myDbHelper.getCountryList (query); startManagingCursor (countryCursor); // Hook up the query results to the list view String[] from = new String[] { WorldInfoDatabaseAdapter.KEY_COUNTRYCODE, WorldInfoDatabaseAdapter.KEY_COUNTRYNAME }; int[] to = new int[] { R.id.countryflag, R.id.countryname }; SimpleCursorAdapter adapter = new SimpleCursorAdapter (this, R.layout.country_list_row, countryCursor, from, to); adapter.setViewBinder (new FlagViewBinder ()); myCountryList.setAdapter (adapter); myCountryList.setOnItemClickListener (new OnItemClickListener () { @Override public void onItemClick (AdapterView<?> parent, View view, int position, long id) { String countryName = myDbHelper.getCountryByID (id); if (countryName == null) { new AlertDialog.Builder (SelectCountryActivity.this).setMessage ( "Internal error: Cannot find the country with id''" + id + "''.").show (); return; } // Package up the country name to return Intent newCountryIntent = new Intent (myCountryList.getContext (), WorldInfoActivity.class); newCountryIntent.putExtra (WorldInfoActivity.KEY_SELECTED_COUNTRY, countryName); startActivity (newCountryIntent); startActivity (newCountryIntent); finish (); } }); }

El miembro myDbHelper consulta mi base de datos para los países que tienen la cadena de consulta pasada y los muestra en una lista. Mi actividad tiene un diseño que se ve así:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" style="?pageBackground"> <TextView android:id="@+id/selectdlgtitle" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/select_country_title" style="?dlgTitle" /> <ListView android:id="@+id/countrylist" android:layout_width="fill_parent" android:layout_height="fill_parent" android:cacheColorHint="#00000000" android:padding="2px"/> </LinearLayout>

Probablemente pueda prescindir de la llamada a setViewBinder ; lo necesito porque estoy traduciendo el campo de código de país en un icono de bandera.