/** * 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. */ 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)); } 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)); } mProgressContainer.setVisibility(View.VISIBLE); mListContainer.setVisibility(View.GONE); } }
/** * The default content for a ListFragment has a TextView that can be shown when the list is empty. * If you would like to have it shown, call this method to supply the text it should use. */ public void setEmptyText(CharSequence text) { ensureList(); if (mStandardEmptyView == null) { throw new IllegalStateException("Can't be used with a custom content view"); } mStandardEmptyView.setText(text); if (!mSetEmptyText) { mList.setEmptyView(mStandardEmptyView); mSetEmptyText = true; } }
/** Get the activity's list view widget. */ public ListView getListView() { ensureList(); return mList; }
/** Get the cursor row ID of the currently selected list item. */ public long getSelectedItemId() { ensureList(); return mList.getSelectedItemId(); }
/** Get the position of the currently selected list item. */ public int getSelectedItemPosition() { ensureList(); return mList.getSelectedItemPosition(); }
/** * Set the currently selected list item to the specified position with the adapter's data * * @param position */ public void setSelection(int position) { ensureList(); mList.setSelection(position); }
/** Attach to list view once Fragment is ready to run. */ @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); ensureList(); }