我想在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;
}
});
}
}