我正在尝试使我的ListView
可以点击,以便用户每次在屏幕上的任何位置单击时。一项添加到列表中。现在我面临的问题是列表视图没有滚动。
因此,为了解决此问题,我用ListView
包裹了TouchableWithoutFeedback
,以使屏幕可点击,但不幸的是它无法滚动。
因此,为了解决滚动问题,我将整个内容包装在ScrollView
下。但是我现在面临的问题是,由于在开始时列表视图中只有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>
这就是我最终的结果。
答案 0 :(得分:2)
您可以在使用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 。