FlatList或ListView上的[react-native] onPanResponderRelease不会在android中触发

时间:2017-04-18 01:23:21

标签: android react-native

我有一个FlatList组件,我想在其上实现PanResponder API,下面是我的代码的一部分:

from os import urandom
from Crypto.Cipher import AES

cipher = AES.new(urandom(16), AES.MODE_CTR, nonce=urandom(15))
cipher.encrypt(urandom(10000))

---------------------------------------------------------------------------
OverflowError                             Traceback (most recent call last)
<ipython-input-116-a48990362615> in <module>()
      3 
      4 cipher = AES.new(urandom(16), AES.MODE_CTR, nonce=urandom(15))
----> 5 cipher.encrypt(urandom(10000))
      6 

/usr/local/lib/python3.5/dist-packages/Crypto/Cipher/_mode_ctr.py in encrypt(self, plaintext)
    188         if result:
    189             if result == 0x60002:
--> 190                 raise OverflowError("The counter has wrapped around in"
    191                                     " CTR mode")
    192             raise ValueError("Error %X while encrypting in CTR mode" % result)

OverflowError: The counter has wrapped around in CTR mode

componentWillMount() { this._panResponder = PanResponder.create({ onStartShouldSetPanResponder: ()=>true, onMoveShouldSetPanResponder: ()=>true, onPanResponderGrant: (e, gestureState)=>this.panResponderStart(e, gestureState), onPanResponderMove: (e, gestureState)=>this.panResponderMove(e, gestureState), onPanResponderRelease: (e, gestureState)=>this.panResponderEnd(e, gestureState), onPanResponderTerminate: (e, gestureState)=>this.panResponderEnd(e, gestureState), }); } panResponderEnd(e, gestureState) { //this._previousTop += gestureState.dy; this.setState({scrollTop:0}); console.log('release'); } ... <FlatList {...this._panResponder.panHandlers} ... 不会在onPanResponderReleaseFlatListListView组件上触发,操作系统是android,它是RN的错误吗?如何解决这个问题,任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

无需传递panHandlers即可查看。我直接在sectionList上使用它。 通过使用onPanResponderEnd而不是onPanResponderRelease使它正常工作。

此外,如果您仍然想使用onPanResponderRelease,则应通过以下方式允许终止请求:

onPanResponderTerminationRequest: () => true

让我知道它是否无效。