0

カスタム スクロール ビュー (リスト ビューではない) を実装しました。Intent Service を使用して、オフセットと制限でサーバーにヒットし、結果を表示します。例えば。最初の呼び出しでは、オフセット = 0 と制限 = FIRST_BATCH (int FIRST_BATCH = 15) を設定します。15 の名前と詳細が返されます。そして、次のインテント サービス コール。オフセット = FIRST_BATCH と制限 = FIRST_BATCH を使用しています。15 から 30 までの次の 15 の名前を返します。そして、30 の名前の最後に [さらに読み込む] ボタンを表示しています。これが私の問題です。[さらに読み込む] ボタンをクリックすると、オフセット = FIRST_BATCH + FIRST_BATCH および制限 = FIRST_BATCH で、次の 15 個の名前を表示したいと考えています。そして、それはさらに成長するでしょう.....これが私の実装です....

private void startName(){ 
Intent getNameSearch = new Intent(getSherlockActivity(), IntentService.class);
    getNameSearch.putExtra("search_offset", 0);
    getNameSearch.putExtra("search_limit", FIRST_BATCH);
    getNameSearch.setAction(IntentService.ACTION_GET_NAMESEARCH);
    getSherlockActivity().startService(getNameSearch);
    mCallback.onCreateProgressDialog();

    getNameSearch = new Intent(getSherlockActivity(), IntentService.class);
    getNameSearch.putExtra("search_offset", FIRST_BATCH);
    getNameSearch.putExtra("search_limit", FIRST_BATCH);
    getNameSearch.setAction(IntentService.ACTION_GET_NAMESEARCH);
    getSherlockActivity().startService(getNameSearch);
    mCallback.onCreateProgressDialog();
}

ビューが表示されたら。LoadMore ボタンをロードしています。そして、LoadMore ボタンをクリックすると、再びインテント サービスを呼び出します。しかし、私はこれが間違っていることを知っています。オフセットは毎回常に 30 になるためです。なので名前は30から45までずっと表示されます。これは伸びて欲しい。たとえば、LoadMore ボタンをクリックした後です。私はこれを 30 から 45 にしたいので、再度 load More ボタンを押すと、45 から 60 になるはずです...

    final Button btnAddMore = (Button) myNameSearch.findViewById(R.id.loadMore);
    btnAddMore.setVisibility(View.VISIBLE);
    loadMoreButton = false;
    btnAddMore.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            loadMoreButton();
        }
    });

そして、ここに loadMoreSpinner メソッドがあります

private void loadMoreButton(){ 
    Intent getNameSearch = new Intent(getSherlockActivity(), IntentService.class);
    int finalOffset = FIRST_BATCH * 2;
    getNameSearch.putExtra("search_offset", finalOffset);
    getNameSearch.putExtra("search_limit", FIRST_BATCH);
    getNameSearch.setAction(IntentService.ACTION_GET_NAMESEARCH);
    getSherlockActivity().startService(getNameSearch);
    mCallback.onCreateProgressDialog();
}
4

0 に答える 0