Я хочу реализовать searchView для проверки содержимого моего ListView, который существует на странице фрагмента.ClassCastException при получении SearchView из макета
Перед созданием searchView все работает нормально (я имею в виду, что ListView существует). Но теперь, когда я создал свой searchView, мое приложение падает.
Вот код:
public class OngletCours extends Fragment implements Filterable{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.ongletcours, container, false);
SearchView sv = (SearchView)rootView.findViewById(R.id.SVRechercher);
List<Cours> listeCours;
ListView l1= (ListView)rootView.findViewById(R.id.ListCours);
DatabaseHelper dbhelper = new DatabaseHelper(getContext());
ArrayList<String> arrayList ;
listeCours= dbhelper.getAllCours();
if (!listeCours.isEmpty()){
String item;
String[] cours = {""};
arrayList=new ArrayList<>(Arrays.asList(cours));
ArrayAdapter adapter = new ArrayAdapter<String>(getContext(),android.R.layout.simple_list_item_1, arrayList);
l1.setAdapter(adapter);
for(int i = 0; i < listeCours.size(); i++) {
item = listeCours.get(i).getCours();
arrayList.add(item);
adapter.notifyDataSetChanged();
Collections.sort(arrayList, String.CASE_INSENSITIVE_ORDER);
sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String text) {
return false;
}
@Override
public boolean onQueryTextChange(String text) {
return false;
}
});
}
} else {
Toast t = Toast.makeText(getActivity(),"Error",Toast.LENGTH_LONG);
t.show();
}
return rootView;
}
}
Я уже прочитал несколько документов, но я не могу найти решение.
Вот моя ошибка:
E/AndroidRuntime: FATAL ИСКЛЮЧЕНИЕ: главный java.lang.ClassCastException: android.widget.SearchView не может быть приведен к android.support.v7.widget.SearchView на ком .example.dasilvadd.students.OngletCours.onCreateView (OngletCours.java:33)
Вы используете 2 SearchViews из разных пакетов. Используйте один из них 'android.support.v7.widget.SearchView' или' android.widget.SearchView' .Проверьте свой импорт. Импорт должен выглядеть следующим образом: http://stackoverflow.com/a/24522846/3111083. Избавьтесь от всех v7 Searchview из импорта –
Возможный дубликат [Невозможно включить SearchView в Fragment (AppCompat)] (http://stackoverflow.com/questions/22150885/cant-cast-searchview-in-fragment-appcompat) – Sufian