android - ScrollView 中的 WebView 每次向上滑动 React Native Android 时调用 refreshControl

标签 android react-native webview scrollview pull-to-refresh

我在 React Native 应用程序的 ScrollView 中有一个 WebView。 ScrollView 具有 refreshControl 属性,因此我可以在到达应用程序顶部时刷新 WebView。

这就是问题所在:我滚动 WebView 没有问题,但是每当我向上滑动以转到页面顶部时,无论我是在页面的末尾、中间还是开头,都没有关系, refreshControl 始终被触发。

RefreshControl在scrollY:0时触发,scrollY一直为0,因为滚动的不是ScrollView而是WebView,所以ScrollView一直在scrollY:0。

我已经在 WebView 和 ScrollView 上尝试了 scrollEnabled 属性,但都没有用。

下面是代码现在的样子:

<View style={{flex: 1}}>
    <ScrollView
      contentContainerStyle={{flex: 1}}
      refreshControl={
        <RefreshControl
          refreshing={this.state.refreshing}
          onRefresh={this._onRefresh.bind(this)}
        />
      }
    >
      <WebView
        ref="webview"
        source={{uri: initialUrl}}
      />
    </ScrollView>
</View>

我已经删除了所有 Prop 以尝试重新开始,但我总是遇到同样的问题。在 iOS 上它工作正常,没有这个问题。

是的,我在这个 mother View 中确实还有其他东西。

最佳答案

我遇到了同样的问题,但使用的是 FlatList。尝试删除 contentContainerStyle,更具体地说是 flex: 1。 这样,对我有用!

关于android - ScrollView 中的 WebView 每次向上滑动 React Native Android 时调用 refreshControl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50535302/

相关文章:

ios - <ListView> 组件的 "row container"是什么?

javascript - 当资源不是本地时,Cordova android 4.x 后退按钮事件不会触发(使用 http)

android - react-native-sound 不适用于 iOS 的生产构建,但适用于模拟器和生产 android

android - 如何尽早在 build.gradle 中获取构建类型

android - 如何在android webview中不使用ssl加载https url

android - 使用 API 7 Android 在 WebView 中禁用缩放控制

Android fragment WebView

java - android google登录后如何初始化firebase?

android - 如何取消像whatsapp这样的图片和视频上传

android - viewpager ListView 的 Espresso 2.0 AmbiguousViewMatcherException