如何使用OncreateOptionMenu在listFragment中使用搜索视图添加搜索栏

时间:2019-07-20 15:27:34

标签: android

我想在SearchView内使用ListFragment来添加搜索栏,因为我在setOnQueryTextListner内使用了onCreateOptionMenu。但是我不知道如何使其工作,并且我在string.xml文件中创建了一个列表。我怎么得到的?

home_fragment.java

    public class home_fragment extends ListFragment  {

    ListView lst;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.home_fragment, container, false);
        lst = v.findViewById(android.R.id.list);
         return v;
    }

以下内容用于在列表视图中传递意图:

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        ArrayAdapter adapter = ArrayAdapter.createFromResource(getActivity(), R.array.songs, android.R.layout.simple_list_item_1);
        setListAdapter(adapter);

        getListView().setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                    Intent intent = new Intent(getActivity(), Lyrics.class);
                    intent.putExtra("SongName", lst.getItemAtPosition(i).toString());
                    startActivity(intent);
            }
        });
    }

以下是searchView的内容:

    @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        super.onCreateOptionsMenu(menu, inflater);
        inflater.inflate(R.menu.menu,menu);


        MenuItem searchitem =menu.findItem(R.id.item_search);
        SearchView searchView=(SearchView) searchitem.getActionView();
        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String s) {
                return false;
            }

            @Override
            public boolean onQueryTextChange(String s) {

                return false;
            }
            });
    }
}

0 个答案:

没有答案
相关问题