LoginSignup
8
8

More than 5 years have passed since last update.

ListFragment で setEmptyView を使う

Last updated at Posted at 2014-08-15

ListFragment を継承した Fragment を作ったとき、 ListView に要素が無い場合の EmptyView を設定したかったのですが、素直に View を作って getListView().setEmptyView() するだけではダメだったので備忘録として書きます。

ともあれ結論

ListFragment の onStart または onActivityCreated で、 EmptyView として表示したい View を ((ViewGroup) getListView().getParent()).addView() で追加しておく。

@Override
public void onStart() {
    super.onStart();

    // View を作って
    TextView textView = new TextView(mActivity);
    textView.setText("empty");

    // 子ビューとして追加しておいて
    ((ViewGroup) getListView().getParent()).addView(textView);

    // EmptyView に登録する
    getListView().setEmptyView(textView);
}

※ ListFragment は Support Library v4 のものです。また、この ListFragment は ActionBar.NAVIGATION_MODE_TABS に設定した Activity で、 ViewPager の上で使っています。

8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8