ListViewのフッタービューを隠す?
質問
私は
ListView
. その背後にあるデータはインターネットから取得され、ユーザーが下までスクロールするたびに10~30個のアイテムがセットで表示されます。より多くの項目をロードしていることを示すために、私は
addFooterView()
を使用して、"Loading..." メッセージとスピナーを表示するシンプルなビューを追加します。さて、データがなくなった(フェッチするデータがなくなった)とき、私はそのメッセージを隠したいです。私はそうしようとしました。
loadingView.setVisibility(View.GONE);
残念ながら、これはビューを隠していますが、ビューのためのスペースを残しています。つまり、"Loading" メッセージがあった場所に大きな空白が出来てしまいます。このビューを適切に隠すにはどうしたらよいでしょうか。
私は
removeFooterView()
を使うことはできません。なぜなら、もう一度表示する必要があるかもしれず、その場合は
addFooterView()
を再び呼び出すことはできません。なぜなら、アダプタはすでに
ListView
を呼び出すことはできません。
addHeaderView()
/
addFooterView()
というようにアダプターを設定した後に
どのように解決するのですか?
を呼び出すことが許可されているようです。
addHeaderView()
/
addFooterView()
後
setAdapter()
これらのメソッドのいずれかを少なくとも一度でも呼び出す限りは
前に
. これはGoogleのかなり悪い設計上の決定なので、私は
を問題提起しました。
. これと
removeFooterView()
と組み合わせると、私の解決策が出来上がります。
私が得た他の2つの答えに対して+1、それらは有効な(そして間違いなくより正しい)解決策です。しかし、私の答えは最もシンプルであり、私はシンプルさが好きなので、私自身の答えを受け入れたとマークします。
関連
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] AndroidのListViewで画像を遅延ロードする方法
-
[解決済み] スクロールすると背景のListViewが黒くなる
-
[解決済み] handler.postDelayed()を停止する。
-
[解決済み] XMLで矩形を描画できますか?
-
[解決済み] Android: ランドスケープモード用の代替レイアウト xml
-
[解決済み] APKが署名済みかデバッグビルドかを確認するには?
-
[解決済み] グリッドビューの高さが削減される
-
[解決済み] BottomNavigationViewを新しいNavControllerで使用する際に、フラグメントを生かす方法はありますか?
-
[解決済み] Androidでツールバーの戻るボタンの色を変えるには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Eclipseでのandroid:configChangesでのAdmobエラー
-
[解決済み] プログラムでソフトキーボードを開く
-
[解決済み] Androidでマイナスマージンを使用するのは悪いことですか?
-
[解決済み] Gmailの3分割アニメーションシナリオの完全動作サンプル?
-
[解決済み] Android Studioの「未実装メソッドの追加」機能
-
[解決済み] 文字サイズとアンドロイドの画面サイズの違い
-
[解決済み] 非ActivityクラスでContextを取得する [重複].
-
[解決済み] EditTextの右側のDrawableにonClickListenerを設定する [重複] [重複
-
[解決済み] edittextのテキストがメールアドレスかどうかを確認するには?
-
[解決済み] ブルートゥースアプリケーションのテストにアンドロイドエミュレータを使用するには?