android - 使 ListView 可点击 React Native

标签 android ios listview react-native shoutem

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

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

因此,为了解决滚动问题,我将整个内容包装在 ScrollView 下。但我现在面临的问题是,因为在开始时 ListView 中只有 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

关于android - 使 ListView 可点击 React Native,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50993413/

相关文章:

android - 调用 notifyDataSetChanged() 多次执行 getView()

Android:下载字体字体并在应用程序中使用

android - 如何在android中可见/不可见的启动器图标?

java - initbranch.io 出现问题

ios - 解析 JSONArray 包含 JSONObjects Swift

python - (django)根据用户的兴趣显示帖子

android - Gradle:无法解析(mavenCentral)

ios - 单元格 ImageView 宽度不会改变

javascript - Webkit-playsinline 在 iphone 上

qt - 在 Qt Quick 中从 ListView 制作自定义 TableView 的规范方法