我想让我 ListView 可点击,这样每当用户点击屏幕上的任何地方。一个项目被添加到列表中。现在我面临的问题是listview没有滚动。
ListView
所以为了解决这个问题我把 列表视图 具有 TouchableWithoutFeedback 使屏幕点击,但不幸的是它不能滚动。
列表视图
TouchableWithoutFeedback
所以为了解决滚动问题 ScrollView . 但现在我面临的问题是,因为在开始时,列表视图中只有一个项目,所以整个屏幕不能点击,只有一小部分是,屏幕上的1个项目可以点击。
ScrollView
这个问题有解决办法吗?
<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>
你可以试试上面的代码。还有一件事, 列表视图 已弃用。你可以使用 扁平表 .