Невозможно заставить работать searchview в панели действийAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Невозможно заставить работать searchview в панели действий

Сообщение Anonymous »

Я новичок в разработке Java и Android; и я работаю над приложением, в котором мне нужна панель действий с SearchView. Я просмотрел примеры Google, но не могу заставить его работать. Должно быть, я делаю что-то не так и собираюсь отказаться от разработки приложений :D Я искал, но не нашел ничего полезного. Может быть, вы, ребята, сможете мне помочь :)

Проблема: у меня открывается представление поиска, как должно, но после этого ничего не происходит все, я заметил, что мой 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;
}
}
searchable.xml
Androidmanifest
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);
}
}
А вот ссылка на упомянутый проект, буду бесконечно благодарен, если кто-нибудь мне в этом поможет!

Исходный код

Подробнее здесь: https://stackoverflow.com/questions/116 ... ar-to-work
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»