0

Android プロジェクトでリストビューの検索を実装しました。最初のアプリケーションは PHP を使用して mysql からデータを読み込みます - JSON は async メソッドを使用して listview にロードします。応答が速く、リストに含まれる項目が少ない場合、これはうまく機能します。しかし、私のリストには 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/でさらにロードします

2番目のアプローチの場合:ボタンなしでさらにロード http://www.mysamplecode.com/2012/07/android-listview-load-more-data.html

于 2013-06-09T23:15:15.980 に答える