code: private void setListShown(boolean shown, boolean animate) {
          ensureList();
          if (mProgressContainer == null) {
              throw new IllegalStateException("Can't be used with a custom content view");
          }
          if (mListShown == shown) {
              return;
          }
          mListShown = shown;
          if (shown) {
              if (animate) {
                  mProgressContainer.startAnimation(AnimationUtils.loadAnimation(
                          getActivity(), android.R.anim.fade_out));
                  mListContainer.startAnimation(AnimationUtils.loadAnimation(
                          getActivity(), android.R.anim.fade_in));
              } else {
                  mProgressContainer.clearAnimation();
                  mListContainer.clearAnimation();
              }
              mProgressContainer.setVisibility(View.GONE);
              mListContainer.setVisibility(View.VISIBLE);
          } else {
              if (animate) {
                  mProgressContainer.startAnimation(AnimationUtils.loadAnimation(
                          getActivity(), android.R.anim.fade_in));
                  mListContainer.startAnimation(AnimationUtils.loadAnimation(
                          getActivity(), android.R.anim.fade_out));
              } else {
                  mProgressContainer.clearAnimation();
                  mListContainer.clearAnimation();
              }
              mProgressContainer.setVisibility(View.VISIBLE);
              mListContainer.setVisibility(View.GONE);
          }
      }
docs: Control whether the list is being displayed.  You can make it not
  displayed if you are waiting for the initial data to show in it.  During
  this time an indeterminant progress indicator will be shown instead.
  
  @param shown   If true, the list view is shown; if false, the progress
  indicator.  The initial value is true.
  @param animate If true, an animation will be used to transition to the
  new state.