public abstract class ItemsBrowserFragment
extends android.app.DialogFragment
Abstract fragment that allows to browse through Sitecore content tree. It manages all network events
and caches successful responses using ScItemsProvider
content provider.
Under the hood items are loaded using ScApiSession
and cached in database using ScItemsProvider
.
Modifier and Type | Class and Description |
---|---|
static interface |
ItemsBrowserFragment.ContentTreePositionListener
Defines content tree position change callback methods.
|
static interface |
ItemsBrowserFragment.NetworkEventsListener
Defines network events callback methods.
|
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_GRID_COLUMNS_COUNT
Default number of columns in grid mode.
|
static java.lang.String |
DEFAULT_ROOT_FOLDER
Default root items browser folder.
|
Constructor and Description |
---|
ItemsBrowserFragment() |
Modifier and Type | Method and Description |
---|---|
protected abstract android.widget.AbsListView |
getContentView() |
ScItem |
getCurrentItem() |
void |
loadContent(ScApiSession session) |
void |
onActivityCreated(android.os.Bundle savedInstanceState) |
void |
onCreate(android.os.Bundle savedInstanceState) |
protected android.view.View |
onCreateEmptyView(android.view.LayoutInflater inflater) |
protected android.view.View |
onCreateFooterView(android.view.LayoutInflater inflater) |
protected android.view.View |
onCreateHeaderView(android.view.LayoutInflater inflater) |
protected ItemViewBinder |
onCreateItemViewBinder()
Override this method to change the way content views are created from
ScItem . |
protected android.view.View |
onCreateUpButtonView(android.view.LayoutInflater inflater)
Creates view, intended for Up navigation through items tree.
|
android.view.View |
onCreateView(android.view.LayoutInflater inflater,
android.view.ViewGroup container,
android.os.Bundle savedInstanceState) |
void |
onDestroyView() |
void |
onDetach() |
void |
onInflate(android.app.Activity activity,
android.util.AttributeSet attrs,
android.os.Bundle savedInstanceState) |
void |
onScItemClick(ScItem item) |
void |
onScItemLongClick(ScItem item) |
void |
onViewCreated(android.view.View view,
android.os.Bundle savedInstanceState) |
void |
setContentTreePositionListener(ItemsBrowserFragment.ContentTreePositionListener contentTreePositionListener)
Register a callback to be invoked when content state changes.
|
void |
setEmptyText(int textResourceId) |
void |
setEmptyText(java.lang.String text) |
void |
setLoadContentWithoutConnection(boolean loadContentWithoutConnection) |
void |
setNetworkEventsListener(ItemsBrowserFragment.NetworkEventsListener networkEventsListener)
Register a callback to be invoked when network operations state changes.
|
void |
setRootFolder(java.lang.String rootFolder) |
void |
update()
Trigger manual update of current folder.
|
dismiss, dismissAllowingStateLoss, dump, getDialog, getShowsDialog, getTheme, isCancelable, onAttach, onCancel, onCreateDialog, onDismiss, onSaveInstanceState, onStart, onStop, setCancelable, setShowsDialog, setStyle, show, show
equals, getActivity, getArguments, getChildFragmentManager, getFragmentManager, getId, getLoaderManager, getParentFragment, getResources, getRetainInstance, getString, getString, getTag, getTargetFragment, getTargetRequestCode, getText, getUserVisibleHint, getView, hashCode, instantiate, instantiate, isAdded, isDetached, isHidden, isInLayout, isRemoving, isResumed, isVisible, onActivityResult, onConfigurationChanged, onContextItemSelected, onCreateAnimator, onCreateContextMenu, onCreateOptionsMenu, onDestroy, onDestroyOptionsMenu, onHiddenChanged, onInflate, onLowMemory, onOptionsItemSelected, onOptionsMenuClosed, onPause, onPrepareOptionsMenu, onResume, onTrimMemory, onViewStateRestored, registerForContextMenu, setArguments, setHasOptionsMenu, setInitialSavedState, setMenuVisibility, setRetainInstance, setTargetFragment, setUserVisibleHint, startActivity, startActivity, startActivityForResult, startActivityForResult, toString, unregisterForContextMenu
public static final java.lang.String DEFAULT_ROOT_FOLDER
setRootFolder(String)
,
Constant Field Valuespublic static final int DEFAULT_GRID_COLUMNS_COUNT
public void onCreate(android.os.Bundle savedInstanceState)
onCreate
in class android.app.DialogFragment
public android.view.View onCreateView(android.view.LayoutInflater inflater, android.view.ViewGroup container, android.os.Bundle savedInstanceState)
onCreateView
in class android.app.Fragment
public void onActivityCreated(android.os.Bundle savedInstanceState)
onActivityCreated
in class android.app.DialogFragment
protected abstract android.widget.AbsListView getContentView()
public void onViewCreated(android.view.View view, android.os.Bundle savedInstanceState)
onViewCreated
in class android.app.Fragment
protected android.view.View onCreateHeaderView(android.view.LayoutInflater inflater)
inflater
- LayoutInflater
object that can be used to inflate any views.null
is returned by default.protected android.view.View onCreateFooterView(android.view.LayoutInflater inflater)
inflater
- LayoutInflater
object that can be used to inflate any views.null
is returned by default.protected android.view.View onCreateUpButtonView(android.view.LayoutInflater inflater)
View.OnClickListener
will be set to created view, which triggers navigation up.inflater
- LayoutInflater
object that can be used to inflate any views.protected android.view.View onCreateEmptyView(android.view.LayoutInflater inflater)
inflater
- LayoutInflater
object that can be used to inflate any views.protected ItemViewBinder onCreateItemViewBinder()
ScItem
.ItemViewBinder
ScItemsAdapter
public void onInflate(android.app.Activity activity, android.util.AttributeSet attrs, android.os.Bundle savedInstanceState)
onInflate
in class android.app.Fragment
public void onDetach()
onDetach
in class android.app.DialogFragment
public void onDestroyView()
onDestroyView
in class android.app.DialogFragment
public void loadContent(ScApiSession session)
session
- ScApiSession
to create the requests.public void setLoadContentWithoutConnection(boolean loadContentWithoutConnection)
loadContentWithoutConnection
- Use true
to show cached content without setting ScApiSession
.public void setRootFolder(java.lang.String rootFolder)
rootFolder
- Top-level content tree folder. Fragment will be initialized using it as current folder.public void update()
public void setEmptyText(java.lang.String text)
text
- Text to set.public void setEmptyText(int textResourceId)
textResourceId
- String resource id.public ScItem getCurrentItem()
public void onScItemClick(ScItem item)
item
- which received click event.public void onScItemLongClick(ScItem item)
item
- which received long click.public void setContentTreePositionListener(ItemsBrowserFragment.ContentTreePositionListener contentTreePositionListener)
contentTreePositionListener
- the callback to be invoked.public void setNetworkEventsListener(ItemsBrowserFragment.NetworkEventsListener networkEventsListener)
networkEventsListener
- the callback to be invoked.