2014-08-27 83 views
0

我想創建一個片段的一個新的實例,如Fragment1.newInstance(0); 一些方法在一個PagerAdapter但這不會進入片段onCreateView方法,我想要它的佈局...如何我可以讓它進入生命週期方法嗎?片段如何進入onCreateView生命週期方法

編輯:對於刷卡選項卡我使用外部庫,延伸PagerAdapter,也許這就是問題所在?

+0

創建一個'Fragment'的實例並不意味着它會完全正常工作。它需要附加到一個'Activity',在這個時候OS會完全初始化它並且調用各種生命週期方法。你不能(或者更準確地說*不應該直接調用'Fragment'生命週期方法)。 – Squonk 2014-08-27 09:17:26

回答

0

您需要的所有內容都被描述爲here。請參閱「向活動添加片段」部分,特別是爲了解決您的問題。

0
在您的尋呼機適配器類

返回這樣

@Override 
public Fragment getItem(int position){ 
return Fragment1.newInstance(position); 
} 

而在你的片段中的實例創建這樣

public static NearbyOffersFragment newInstance(int position) { 
    Fragment1 f = new Fragment1(); 
    Bundle b = new Bundle(); 
    b.putInt("position", position); 
    f.setArguments(b); 
    return f; 
} 

和的onCreate您的片段的靜態實例檢索現在的位置

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    position = getArguments().getInt("position"); 
} 
+0

仍然不會進入片段的onCreateView方法 – 2014-08-27 08:46:18

+0

你確定你正在記錄它並檢查? – goonerDroid 2014-08-27 08:55:29

+0

請參閱我編輯的問題,請 – 2014-08-27 08:59:55

0

這是因爲ViewPager不會在每次滑動時重新創建片段..它會創建阿泰片段只有一次,在內存中保存和它去offScreenpageLimit()後重新創建一次......對於每次刷卡時重建片段,你必須設置

mViewPager.setOffscreenPageLimit(0); 

但是不推薦使用這種方法,如果你有這麼多viewpager中的頁面(至少超過10個)..

相關問題