カスタム スクロール ビュー (リスト ビューではない) を実装しました。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();
}