从布局获取SearchView时出现ClassCastException

问题描述 投票:1回答:1

我想实现一个searchView来检查Fragment页面中存在的ListView的内容。

在创建searchView之前,一切正常(我的意思是,ListView existes)。但是现在我创建了我的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 EXCEPTION:main java.lang.ClassCastException:android.widget.SearchView无法在com.example.dasilvadd.students.OngletCours.onCreateView(OngletCours.java:33)中强制转换为android.support.v7.widget.SearchView )

android searchview classcastexception
1个回答
0
投票

你必须改变这个:

import android.widget.SearchView;

对此:

import android.support.v7.widget.SearchView;

在MainActivity.java中。

© www.soinside.com 2019 - 2024. All rights reserved.