@@ -96,20 +96,48 @@ public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
9696 @ Override
9797 public RecyclerView .ViewHolder onCreateViewHolder (ViewGroup parent , int viewType ) {
9898 if (getLoadingResultsLayout () != null && viewType == getLoadingResultsLayout ()) {
99- return new ViewHolder (parent , getLoadingResultsLayout () );
99+ return onCreateLoadingResultsViewHolder (parent , viewType );
100100 }
101101
102102 if (getErrorResultsLayout () != null && viewType == getErrorResultsLayout ()) {
103- return new ViewHolder (parent , getErrorResultsLayout () );
103+ return onCreateErrorResultsViewHolder (parent , viewType );
104104 }
105105
106106 if (getNoResultsLayout () != null && viewType == getNoResultsLayout ()) {
107- return new ViewHolder (parent , getNoResultsLayout () );
107+ return onCreateNoResultsViewHolder (parent , viewType );
108108 }
109109
110110 return onCreateDataViewHolder (parent , viewType );
111111 }
112112
113+ protected RecyclerView .ViewHolder onCreateLoadingResultsViewHolder (ViewGroup parent , int viewType ) {
114+ if (getLoadingResultsLayout () != null ) {
115+ return new ViewHolder (parent , getLoadingResultsLayout ());
116+ }
117+
118+ return null ;
119+ }
120+
121+ protected RecyclerView .ViewHolder onCreateErrorResultsViewHolder (ViewGroup parent , int viewType ) {
122+ if (getErrorResultsLayout () != null ) {
123+ return new ViewHolder (parent , getErrorResultsLayout ());
124+ }
125+
126+ return null ;
127+ }
128+
129+ protected RecyclerView .ViewHolder onCreateNoResultsViewHolder (ViewGroup parent , int viewType ) {
130+ if (getNoResultsLayout () != null ) {
131+ return new ViewHolder (parent , getNoResultsLayout ());
132+ }
133+
134+ return null ;
135+ }
136+
137+ public boolean isLoading () {
138+ return isLoading ;
139+ }
140+
113141 public void setLoading (boolean loading ) {
114142 if (getLoadingResultsLayout () == null ) {
115143 throw new InvalidParameterException ("You did not provide a layout for the loading cell." );
@@ -130,6 +158,10 @@ public void setLoading(boolean loading) {
130158 }
131159 }
132160
161+ public boolean isError () {
162+ return isError ;
163+ }
164+
133165 public void setError (boolean error ) {
134166 if (getErrorResultsLayout () == null ) {
135167 throw new InvalidParameterException ("You did not provide a layout for the error cell." );
0 commit comments