我想通过 in 将搜索功能添加到我的应用程序SearchView
中ActionBar
- 我有ListView
一些对象。提交搜索后,我想显示搜索查询中包含的数据以显示在ListView
. 为了存储数据,我使用Parse.com框架。我遵循了这个简单的教程,但我知道它不是为搜索ListView
项目而设计的,而是通过全球项目搜索 - 下载的应用程序等。
在中设置 SearchViewMainActivity.class
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
MenuItem searchItem = menu.findItem(R.id.action_search);
mSearchView = (SearchView) MenuItemCompat.getActionView(searchItem);
setupSearchView(searchItem);
return true;
}
private void setupSearchView(MenuItem searchItem) {
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
if (searchManager != null) {
List<SearchableInfo> searchables = searchManager.getSearchablesInGlobalSearch();
SearchableInfo info = searchManager.getSearchableInfo(getComponentName());
for (SearchableInfo inf : searchables) {
if (inf.getSuggestAuthority() != null
&& inf.getSuggestAuthority().startsWith("applications")) {
info = inf;
}
}
mSearchView.setSearchableInfo(info);
}
mSearchView.setOnQueryTextListener(this);
}
@Override
public boolean onQueryTextChange(String arg0) {
return false;
}
@Override
public boolean onQueryTextSubmit(String arg0) {
Toast.makeText(getBaseContext(), "submited", Toast.LENGTH_SHORT).show();
return false;
}
我的Animal.class
- getter 和 setter(检查//note
):
@ParseClassName("Animal")
public class Animal extends ParseObject{
public Animal(){
}
public String getAnimal(){ //I want to search by these objects
return getString("animal");
}
public void setAnimal(String animal){
put("animal", animal);
}
public String getArea(){
return getString("area");
}
public void setArea(String area){
put("area", area);
}
public String getImgUrl(){
return getString("imgUrl");
}
public void setImgUrl(String imgUrl){
put("imgUrl", imgUrl);
}
public String getAbout(){
return getString("about");
}
public void setAbout(String about){
put("about", about);
}
}
你知道吗,是否有某种方法可以自定义它以在 ListView 中搜索我的项目?还是有完全不同但更好的方法,该怎么做?
提前致谢