2012-06-06 20 views

回答

19

將視圖添加到容器實際上是使它出現在屏幕上的原因。由instantiateItem返回的對象只是一個鍵/標識符;如果您沒有使用像Fragment這樣的東西來管理頁面的視圖,那麼恰好如此,爲此目的使用實際視圖往往會很方便。 (例如,請參見FragmentPagerAdapter的來源。)

PagerAdapter方法isViewFromObject幫助傳呼機知道哪個視圖屬於哪個鍵。如果你剛剛回國的觀點作爲重點對象,可以實現此方法平凡如:

public boolean isViewFromObject(View view, Object object) { 
    return view == object; 
} 
+0

如果「添加視圖到容器實際上是什麼使它出現在屏幕上」,什麼是「返回視圖」呢?謝謝回答。 – Hexor

+4

這是ViewPager使用的標識。 – hackbod

+0

這個回答和@hackbod評論回答了我很多關於ViewPager的質疑!謝謝 (: –

1

按照意見包括PageAdapter源代碼

public abstract Object instantiateItem(View container, int position);  

創建頁面給定的位置。該適配器添加視圖到這裏給出的容器負責 ,雖然它只有 必須確保這是由該頁面將顯示含有查看它

集裝箱返回的時間來完成。

位置要實例化的頁面位置。

返回一個表示新頁面的對象。這不需要 是一個View,但可以是其他一些容器的頁面。