Я новичок в разработке Java и Android; и я работаю над приложением, в котором мне нужна панель действий с SearchView
. Я посмотрел на примеры Google, но я не могу заставить его работать. Должно быть, я делаю что-то не так, и я собираюсь отказаться от разработки приложения -:D Я искал, но не нашел ничего полезного. Может быть, вы, ребята, можете мне помочь:)
Проблема:У меня окно поиска открывается как надо, но после этого вообще ничего не происходит, я заметил, что мой searchManager.getSearchableInfo (getComponentName())возвращает ноль. Кроме того, моя подсказка, которую я дал, не отображается в моем окне поиска, что наводит меня на мысль, что, возможно, приложение не может найти мой 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;
}
}
searchable.xml
Манифест Android
SearchableActivity.java
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);
}
}
А вот ссылка на упомянутый проект, буду бесконечно благодарен, если кто-то мне в этом поможет!