У меня есть список items
, и я хочу начать различную деятельность на основе item
, когда я нажимаю на него, открывается правильная активность, но когда я пытаюсь искать элементы списка из панели поиска, тогда он открывает неправильные действия.Реализовать поиск по строкам listview Android
listView = (ListView) findViewById(R.id.listView);
sv=(SearchView) findViewById(R.id.searchView1);
String[] values = new String[]{item1,item2,item3,item4,}
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_2, android.R.id.text1, values);
listView.setAdapter(adapter);
//linking from 1 item to other activity stars with if options//
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
if (position == 0) {
Intent myIntent = new Intent(view.getContext(), activity1.class);
startActivityForResult(myIntent,0);
}
if (position == 4) {
Intent myIntent = new Intent(view.getContext(), aactivity4.class);
startActivityForResult(myIntent,0);
}
}
});
sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String text) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean onQueryTextChange(String text) {
adapter.getFilter().filter(text);
return false;
}
});
Я много не знаю о кодировании, но может ли один решить мою проблему ..
Так ,, как я могу это сделать? –
@WAQARALAM вам просто нужно заменить свой код 'if-else' моим, и добавить все случаи для всех элементов, попробуйте демонстрационную часть кода –
ничего не меняет .., он все еще рассматривает позицию –