2016-10-21 137 views
0

我在ScrollView中有一個ListView。 列表視圖可以垂直滾動,滾動視圖可以水平滾動。觸摸並滾動ScrollView中的ListView導致ScrollView不再呈現

視圖層次是這樣的:頂視圖 - >滾動視圖 - > ListView。

當我觸摸並滾動列表視圖時,ScrollView的渲染函數將不會再被調用。 - 頂視圖的渲染函數按預期方式調用,但它不會更新ScrollView。

如果我不做觸摸和滾動,那麼一切都會很好。 而且,在觸摸和滾動之後,如果我觸摸並滾動ScrollView,則一切都將恢復正常。

如果覺得listview在touch-and-scroll之後得到了重點,那麼在失去焦點之前,事情就不會好起來。

你能幫忙嗎?非常感謝你!

+1

看來實際的觸發動作是長按。 – Ben

回答

0

找到根本原因。

我在ScrollView的onResponderGrant中設置了一個標誌,並清除了onResponderRelease中的標誌。 而在ScrollView的shouldComponentUpdate中,該標誌被選中。

當我在ListView中進行觸摸和滾動時,只會調用ScrollView的onResponderGrant,並且沒有調用它的onResponderRelease,所以標誌不會被清除。

爲什麼沒有調用onResponderRelease可能是ReactNative的錯誤。