使 ListView 可点击 React Native

Making ListView Clickable React Native

我正在尝试让我的 ListView 可点击,这样无论何时用户点击屏幕上的任何地方。一个项目被添加到列表中。现在我面临的问题是列表视图没有滚动。

所以为了解决这个问题,我用 TouchableWithoutFeedback 包装了我的 ListView 以使屏幕可以点击,但不幸的是它不能滚动。

因此,为了解决滚动问题,我将整个内容包裹在 ScrollView 下。但我现在面临的问题是,因为在开始时列表视图中只有 1 个项目,所以整个屏幕不可点击只有一小部分是屏幕上的 1 个项目是可点击的。

这个问题有解决办法吗?

 <ScrollView>
        <Screen
          onStartShouldSetResponder={() => true}
          style={{
            flex: 1
          }}
        >
          <TouchableOpacity
            style={{ flex: 1 }}
            onPress={() => this.addMessage()}
          >
            <ListView
              data={this.state.readMessages}
              renderRow={this.renderRow}
              scrollEnabled={true}
            />
          </TouchableOpacity>
        </Screen>
      </ScrollView>

这就是我最后的结局。

您可以在使用 ListView 时删除 scrollView。

      <TouchableOpacity
        style={{ flex: 1 }}
        onPress={() => this.addMessage()}
      >
<ScrollView>
    <Screen
      onStartShouldSetResponder={() => true}
      style={{
        flex: 1
      }}
    >
        <ListView
          data={this.state.readMessages}
          renderRow={this.renderRow}
          scrollEnabled={true}
        />
    </Screen>
</ScrollView>
      </TouchableOpacity>

你可以试试上面的代码。还有一件事,ListView 已弃用。您可以使用 FlatList.