使 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.
我正在尝试让我的 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.