Androidのリストビューでページネーションを実装するにはどうすればよいですか? 1 ページあたり 10 レコードを表示する必要があります。ユーザーが次のボタンをクリックすると、さらに 10 件のレコードを表示する必要があります。誰でもこれを行う方法を教えてもらえますか?
ありがとう
Androidのリストビューでページネーションを実装するにはどうすればよいですか? 1 ページあたり 10 レコードを表示する必要があります。ユーザーが次のボタンをクリックすると、さらに 10 件のレコードを表示する必要があります。誰でもこれを行う方法を教えてもらえますか?
ありがとう
最初の 10 個のアイテムをアダプタに追加して表示するだけです。ユーザーが [次へ] をクリックした場合は、アダプター内のデータを変更し、notifydatasetchanged() を呼び出します。これにより、リストが新しいアイテムでリロードされます。しかし、可能性のあるすべてのアイテムではなく、いくつかのアイテムのみを表示するのは、本当に良いデザインではないと思います. 個人的には気が狂いそうだ。
カスタム アダプターを作成します。を入力Listview
してArrayList
から、 に 10 個のアイテムを追加しArrrayList
て呼び出しますadapter.notfiyDataSetChange()
。ユーザーが次のボタンをクリックすると、最初の 10 個の項目が削除されArrrayList
、次の 10 個の項目が追加されてから、再度呼び出されますadapter.notfiyDataSetChange()
。
これらの手順を実行しようとしています:-
最初に、ユーザーが次の 10 個のレコードを読み込むために使用する listView にボタンを提供する必要があります。
//LoadMore Button
Button btnLoadMore = new Button(this);
btnLoadMore.setText("Load More");
//Adding Load More button to listview at bottom
lview.addFooterView(btnLoadMore);
カスタムアダプターを使用します:-
adapter = new myAdapter(this, record1, record2, stringArray);
lview.setAdapter(adapter);
今
/**
* Listening to Load More button click event
* */
btnLoadMore.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
// Starting a new async task
new loadMoreListView().execute();
}
}
そして、使用します
/**
* Async Task that send a request to url
* Gets new list view data
* Appends to list view
* */
private class loadMoreListView extends AsyncTask<Void, Void, Void> {
protected Void doInBackground(Void... unused) {
runOnUiThread(new Runnable() {
public void run() {
(put your logic for load data)
//get listview current position - used to maintain scroll position
int currentPosition = lview.getFirstVisiblePosition();
adapter = new myAdapter(NewsActivity.this, record1, record2, stringArray);
lview.setAdapter(adapter);
// Setting new scroll position
lview.setSelectionFromTop(currentPosition + 1, 0);
}
});
return (null);
}
これがあなたに役立つことを願っています...