Skip to content

Commit 6e64468

Browse files
author
Iain Connor
committed
Welcome aboard
1 parent 55349f4 commit 6e64468

File tree

1 file changed

+35
-3
lines changed

1 file changed

+35
-3
lines changed

library/src/main/java/com/tippingcanoe/divergence/SectionAdapter.java

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)