从布局获取SearchView时出现ClassCastException

时间:2017-02-20 08:44:03

标签: android searchview classcastexception

我想实现一个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:致命异常:主要                     java.lang.ClassCastException:android.widget.SearchView无法强制转换为android.support.v7.widget.SearchView                         在com.example.dasilvadd.students.OngletCours.onCreateView(OngletCours.java:33)

1 个答案:

答案 0 :(得分:0)

您必须更改此内容:

import android.widget.SearchView;

对此:

import android.support.v7.widget.SearchView;

在MainActivity.java中。