Прежде всего, я новичок, поэтому, пожалуйста, подождите немного здесь.
Я пытаюсь создать приложение со списком предметов. При нажатии на элемент вы go переходите к новой соответствующей активности. Когда я добавил SearchView для фильтрации элементов списка, теперь проблема с отфильтрованными результатами, при нажатии на которые они не указывают на соответствующее действие.
Можете ли вы исправить мой код ниже или предоставить лучший способ направить соответствующая деятельность. Пожалуйста, предоставьте как можно больше подробностей. Заранее большое спасибо.
MainActivity. java
public class MainActivity extends Activity
implements SearchView.OnQueryTextListener {
private SearchView mSearchView;
private ListView mListView;
private final String[] mStrings = { "Google", "Apple", "Samsung", "Sony", "LG", "HTC" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
setContentView(R.layout.activity_main);
mSearchView = findViewById(R.id.search_view);
mListView = findViewById(R.id.list_view);
mListView.setAdapter(new ArrayAdapter<>(this,
android.R.layout.simple_list_item_1,
mStrings));
mListView.setTextFilterEnabled(true);
setupSearchView();
mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (position == 0) {
Intent i = new Intent(MainActivity.this, google.class);
startActivity(i);
} else {
// code to direct to the corresponding activity
}
});
}
private void setupSearchView() {
mSearchView.setIconifiedByDefault(false);
mSearchView.setOnQueryTextListener(this);
mSearchView.setSubmitButtonEnabled(true);
mSearchView.setQueryHint("Search Here");
}
public boolean onQueryTextChange(String newText) {
if (TextUtils.isEmpty(newText)) {
mListView.clearTextFilter();
} else {
mListView.setFilterText(newText);
}
return true;
}
public boolean onQueryTextSubmit(String query) {
return false;
}
}