0

我已经在我的 android 项目中实现了搜索列表视图。第一个应用程序使用 PHP - JSON 将数据从 mysql 加载到使用异步方法的列表视图中。如果响应速度很快并且列表包含的项目不多,则此方法可以正常工作。但我的清单包含超过 550 项。将数据加载到列表中需要一段时间。所以我想知道有没有更好或更快的方法加载到列表中?

4

2 回答 2

1

一切都在这里:

一个简单的方法是在你的搜索视图上附加一个 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 回答