代码之家  ›  专栏  ›  技术社区  ›  Kamil Kamili

使ListView可点击的本地反应

  •  0
  • Kamil Kamili  · 技术社区  · 8 年前

    我想让我 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>
    

    这就是我最后的结局。

    1 回复  |  直到 8 年前
        1
  •  2
  •   Nirmalsinh Rathod    8 年前

    您可以在使用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>
    

    你可以试试上面的代码。还有一件事, 列表视图 已弃用。你可以使用 扁平表 .