2016-07-22 155 views
2

由於某些原因,我不明白,即使它在滾動的頂部,我的ListView仍然會觸發,我需要將它包裹在ScrollView中,因爲我希望我的ToolBar在隱藏時用戶也在ListView中向下滾動。反應原生ListView onEndReached繼續射擊

這是render()方法的內容:

<ScrollView> 
    <ActivityContainer> 
     <ListView 
     onEndReachedThreshold={100} 
     pageSize={10} 
     initialListSize={20} 
     onEndReached={() => { 
         console.log("fired"); // keeps firing 
         }} 
     enableEmptySections={true}/> 
    </ActivityContainer> 
</ScrollView> 

還試圖在這樣的看法環繞整個事情:

<ScrollView> 
    <View> 
    <ActivityContainer> 
     <ListView 
     onEndReachedThreshold={100} 
     pageSize={10} 
     initialListSize={20} 
     onEndReached={() => { 
         console.log("fired"); // keeps firing 
         }} 
     enableEmptySections={true}/> 
    </ActivityContainer> 
    </View> 
</ScrollView> 

編輯:我不需要renderHeader因爲我m試圖滾動ListView頂部的所有內容,它有許多組件和視圖以及子視圖,而不是列表視圖的標題。

回答

3

見,如果這個工程:

<ListView 
    onEndReachedThreshold={100} 
    pageSize={10} 
    renderHeader={() => <ToolbarAndroid />} 
    initialListSize={20} 
    onEndReached={() => { 
    console.log("fired"); // keeps firing 
    }} 
    enableEmptySections={true}/> 
+0

我想'onEndReached'持續觸發的原因是由於嵌套ListView和ScrollView造成的一些問題。你有沒有注意到這是否停止了,即使它打破了這個觀點? – lalkmim

+0

我明白了,我只是問當兩個部件「不合格」時停止發射的問題是否會停止。我知道你有兩個問題:射擊和佈局。 – lalkmim

+0

問題是工具欄是在一個Activity容器中,它內部有工具欄和其他組件,並且包含了所有組件,包括ListView,我無法將它作爲列表視圖的標題 – octohedron

0

使用哈希尋呼ListView中時> 1列

目前,我在本地做出反應,但V44沒有試過最新版本。

在你的構造試試這個...

constructor(props) { 
    this.pagesLoaded = {} 
    this.currentPage = 1 
    // etc 
} 

然後在您的數據獲取方法試試這個...

getData() { 
    if (this.pagesLoaded[this.state.currentPage]) return 
    this.pagesLoaded[this.state.currentPage] = true 
    // fetch data 
} 

這樣當onEndReached被過度燒製,也不會物。這看起來像是ListView中的一個bug,因爲我已經在它周圍設置了尺寸,並且它沒有在ScrollView之內,所以它純粹發生在組件內,即使設置了getItemLayout支撐。