Skip to content

Commit ac9dc06

Browse files
authored
workaround to fix stuck refresh on android
render Refresh Header only if the refresh title equal to Pull to refresh
1 parent 52b1871 commit ac9dc06

File tree

1 file changed

+19
-16
lines changed

1 file changed

+19
-16
lines changed

src/refreshableScrollView.android.js

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -181,26 +181,29 @@ export default class RefreshableScrollView extends ScrollView {
181181
};
182182

183183
renderRefreshHeader() {
184-
if (this.props.customRefreshView) {
184+
if (this.state.refreshTitle !== "Pull to refresh") {
185+
if (this.props.customRefreshView) {
186+
return (
187+
<View style={[defaultHeaderStyles.header, this.props.refreshViewStyle]}>
188+
{this.props.customRefreshView(this.state.refreshStatus, this._offsetY)}
189+
</View>
190+
);
191+
}
192+
185193
return (
186-
<View style={[defaultHeaderStyles.header, this.props.refreshViewStyle]}>
187-
{this.props.customRefreshView(this.state.refreshStatus, this._offsetY)}
194+
<View style={[defaultHeaderStyles.header, this.props.refreshViewStyle, {height: this.state.showRefreshHeader ? this.props.refreshViewHeight : 0}]}>
195+
<View style={defaultHeaderStyles.status}>
196+
{this.renderSpinner()}
197+
<Text style={defaultHeaderStyles.statusTitle}>{this.state.refreshTitle}</Text>
198+
</View>
199+
{this.props.displayDate &&
200+
<Text
201+
style={[defaultHeaderStyles.date, this.props.dateStyle]}>{this.props.dateTitle + this.state.date}</Text>
202+
}
188203
</View>
189204
);
190205
}
191206

192-
return (
193-
<View style={[defaultHeaderStyles.header, this.props.refreshViewStyle, {height: this.state.showRefreshHeader ? this.props.refreshViewHeight : 0}]}>
194-
<View style={defaultHeaderStyles.status}>
195-
{this.renderSpinner()}
196-
<Text style={defaultHeaderStyles.statusTitle}>{this.state.refreshTitle}</Text>
197-
</View>
198-
{this.props.displayDate &&
199-
<Text
200-
style={[defaultHeaderStyles.date, this.props.dateStyle]}>{this.props.dateTitle + this.state.date}</Text>
201-
}
202-
</View>
203-
);
204207
}
205208

206209
renderSpinner() {
@@ -271,4 +274,4 @@ const defaultHeaderStyles = StyleSheet.create({
271274
color: '#333333',
272275
marginTop: 5
273276
}
274-
});
277+
});

0 commit comments

Comments
 (0)