のフッターに「Load More」を追加しようとしました。Button
と不確定ProgressBar
です。リストビューのボタンとサークルをプログレスバーで表示
はずscinarioは、このように動作します:AsyncTask
は20個のアイテムをダウンロードしている間ボタンをクリックすると
、ProgressBar
が示されています。項目がListView
に挿入されると、ProgressBar
が終了し、Button
がフッターに再び表示されます。 私は、次の解決策に来て、あなたがよりよい解決策があればいいだろう:
レイアウト/ progress_bar.xml
<?xml version="1.0" encoding="utf-8"?>
<ProgressBar xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/load_progress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminate="true"
/>
そして、あなたが活動中に、次のフィールド持つと仮定すると:
private ListView listview;
private Button loadMoreButton;
private ProgressBar progressBar;
を
リストビューを作成した後、このようなフッターを追加します(activity.onCreate()
の末尾):
loadMoreButton = new Button(this);
loadMoreButton.setText("Load More");
progressBar = (ProgressBar) LayoutInflater.from(this).inflate(R.layout.progress_bar, null);
loadMoreButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//downloadItems();
listview.removeFooterView(loadMoreButton);
listview.addFooterView(progressBar);
}
});
データが準備できたら(最初のページまたは後続のページ)、アダプタの更新後に次のように呼び出します。
//adapter.notifyDataSetChanged();
listview.removeFooterView(progressBar);
listview.addFooterView(loadMoreButton);
解決策がある場合は、回答で回答してください。
代わりのより多くのあなたがScrollStateChangeの気象ユーザーに確認することができますロードするためのボタンを示す項目の最後のインデックスを見つけた場合、あなたはフッターの進捗とするとき、それは完全な削除をロードを表示し、データを表示することができます 、一番下かではありません –
私はユーザーがいつもスクロールしていた場合に備えて、** Load More **をクリックしてサーバーへのコール数を減らしたいと思っています。 –