У меня есть активность, которая содержит список.Через Андроид на SearchRequested () я реализовал поиск.Результаты отображаются в виде списка с тем же адаптером в другом действии.Пока работает нормально.
Кроме того, я хочу иметь возможность выполнять поиск из этой второй операции, показывая новые результаты в том же списке.
Мой AndroidManifest.xml для двух операций:
<activity android:name=".ListActivity" android:label="List">
<meta-data android:name="android.app.default_searchable" android:value=".SearchActivity" />
</activity>
<activity android:name=".SearchActivity" android:label="Results">
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data android:name="android.app.searchable" android:resource="@xml/search" android:value=".SearchActivity" />
</activity>
SearchActivity's onResume ():
@Override
protected void onResume() {
super.onResume();
Intent queryIntent = getIntent();
String value = queryIntent.getStringExtra(SearchManager.QUERY);
setView(value);
}
Метод setView () выполняет цикл foreach через все объекты, добавляя их в массив результатов, который используетсядля нового адаптера, который отображается в списке.
ca = new CustomAdapter(this, R.layout.customadapter, resultArray);
list.setAdapter(pa);
list.invalidate();
При попытке поиска из второй операции появляется панель поиска, я могу ввести свое значение поиска, отправить его - но список не меняется (идаже клавиатура остается).Чего не хватает?
Редактировать: Пытался облегчить понимание.