如何获取当前聚焦的FlatList项目

问题描述 投票:3回答:1

我正在创建一个androidTV应用程序,并试图使用TouchableNativeFeedback来获取当前FlatList的焦点项。

我试过使用 "onFocus "来改变FlatList项有焦点时的状态,但当应用程序渲染时,它似乎聚焦于每个项目,因为它被加载到FlatList中,导致许多SetState更新错误。我尝试在onfocus中使用"()=> "来停止它在渲染时的运行,但这似乎使它完全停止了工作。

<View style={styles.containerItemNow}>
    <TouchableNativeFeedback background={TouchableNativeFeedback.Ripple('#f14621', true)} onFocus={this.UpdateStatus(item.status)} onPress={() => this.downloadfile(item.url)}>
        <View style={styles.containerItemNowSelected}>
            <Text style={{color: 'white'}}>{item.title}</Text>
        </View>
    </TouchableNativeFeedback>
</View>

我希望当用户使用d-pad移动时,项目会以波纹效果突出显示,并运行onfocus并更新所需的状态,但即使项目的波纹效果显示onfocus没有运行,也不会发生这种情况。

react-native react-native-android android-tv react-native-flatlist
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.