我已经在我的 android 项目中实现了搜索列表视图。第一个应用程序使用 PHP - JSON 将数据从 mysql 加载到使用异步方法的列表视图中。如果响应速度很快并且列表包含的项目不多,则此方法可以正常工作。但我的清单包含超过 550 项。将数据加载到列表中需要一段时间。所以我想知道有没有更好或更快的方法加载到列表中?
问问题
1024 次
2 回答
1
一切都在这里:
- http://developer.android.com/training/search/setup.html
- http://developer.android.com/guide/topics/search/search-dialog.html
一个简单的方法是在你的搜索视图上附加一个 OnQueryTextListener。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options_menu, menu);
// Associate searchable configuration with the SearchView
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) menu.findItem(R.id.search).getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setOnQueryTextListener(this);
mListView.setTextFilterEnabled(true);
return true;
}
在你必须实现 onQueryTextSubmit() 和 onQueryTextChange() 方法之后。
public boolean onQueryTextSubmit(String s) {
return false;
}
@Override
public boolean onQueryTextChange(String s) {
if (TextUtils.isEmpty(s)) {
mListView.clearTextFilter();
} else {
mListView.getTextFilter();
}
return true;
}
于 2013-06-09T22:20:01.277 回答
0
你可以让它像页面一样,例如第一个请求将获得 10 个元素,然后使用加载更多按钮“或不使用列表视图上的滚动侦听器”来获取接下来的 10 个元素。
对于第一种方法:使用按钮加载更多 http://www.androidhive.info/2012/03/android-listview-with-load-more-button/
对于第二种方法:加载更多没有按钮 http://www.mysamplecode.com/2012/07/android-listview-load-more-data.html
于 2013-06-09T23:15:15.980 回答