Проблема: у меня открывается представление поиска, как должно, но после этого ничего не происходит все, я заметил, что мой searchManager.getSearchableInfo(getComponentName()) возвращает значение null. Кроме того, моя подсказка, которую я дал, не отображается в моем окне поиска, что заставляет меня полагать, что, возможно, приложение не может найти мой searchable.xml? Хватит разговоров
MainActivity.java
Код: Выделить всё
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_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()));
return true;
}
}
Код: Выделить всё
Код: Выделить всё
Код: Выделить всё
package com.example.searchapp;
import android.app.ListActivity;
import android.app.SearchManager;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
public class SearchableActivity extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search);
// Get the intent, verify the action and get the query
Intent intent = getIntent();
if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
String query = intent.getStringExtra(SearchManager.QUERY);
doMySearch(query);
}
}
private void doMySearch(String query) {
Log.d("Event",query);
}
}
Исходный код
Подробнее здесь: https://stackoverflow.com/questions/116 ... ar-to-work
Мобильная версия