FlatList RefreshControl not working on Android

Viewed 88

I have a FlatList inside of a view and I'm unable to get the refresh control working on Android emulators/devices.

I have tried many solutions but to no luck. Any help or suggestions would be greatly appreciated.

Code:

    onPullToRefresh = () => {
        this.props.onRefreshData();
    }
...

    render() {
        const isRefreshing = this.props.refreshing['entities'] ? this.props.refreshing['entities'] : false;
...

                {!this.state.favoritesExpand &&
                    <View style={{ flex: 1, flexDirection: 'column', justifyContent: 'center' }}>
                        <FlatListCustom
                            style={{ flex: 1, flexDirection: 'column' }}
                            data={this.state.searchString && this.state.searchString.length > 0 ? this.state.searchMatchedItems : this.state.items}
                            renderItem={this.renderEntityItem}
                            keyExtractor={(item) => item.id}
                            extractData={this.state.selectedItemId}
                            windowSize={1}
                            ref={ref => this.itemScrollViewRef = ref}
                            getItemLayout={this.getItemLayout}
                            refreshControl={
                                <RefreshControl refreshing={isRefreshing} onRefresh={this.onPullToRefresh} />
                            }
                        />

                        {(screenMaster == 'investor' || screenMaster == 'asset') &&
                            <View style={{ position: 'absolute', right: 0, top: 0, justifyContent: 'space-between', flex: 1, flexDirection: 'column', height: '100%', paddingTop: 8, paddingBottom: 20 }}>
                                {this.state.AZList.map(item => (
                                    <Touch
                                        key={`AZList_${item}`}
                                        onPress={() => this.onAZListSelect(item)}
                                    >
                                        <Text style={{ textAlign: 'center', color: '#006dc4', fontSize: Platform.isPad ? normalize(7) : normalize(12), paddingHorizontal: 10, fontWeight: 'bold', fontFamily: "Geogrotesque" }}>{item}</Text>
                                    </Touch>
                                ))}
                            </View>
                        }
                    </View>
                }


0 Answers
Related