我想創建一個片段的一個新的實例,如Fragment1.newInstance(0);
一些方法在一個PagerAdapter但這不會進入片段onCreateView方法,我想要它的佈局...如何我可以讓它進入生命週期方法嗎?片段如何進入onCreateView生命週期方法
編輯:對於刷卡選項卡我使用外部庫,延伸PagerAdapter
,也許這就是問題所在?
我想創建一個片段的一個新的實例,如Fragment1.newInstance(0);
一些方法在一個PagerAdapter但這不會進入片段onCreateView方法,我想要它的佈局...如何我可以讓它進入生命週期方法嗎?片段如何進入onCreateView生命週期方法
編輯:對於刷卡選項卡我使用外部庫,延伸PagerAdapter
,也許這就是問題所在?
您需要的所有內容都被描述爲here。請參閱「向活動添加片段」部分,特別是爲了解決您的問題。
返回這樣
@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");
}
仍然不會進入片段的onCreateView方法 – 2014-08-27 08:46:18
你確定你正在記錄它並檢查? – goonerDroid 2014-08-27 08:55:29
請參閱我編輯的問題,請 – 2014-08-27 08:59:55
這是因爲ViewPager不會在每次滑動時重新創建片段..它會創建阿泰片段只有一次,在內存中保存和它去offScreenpageLimit()後重新創建一次......對於每次刷卡時重建片段,你必須設置
mViewPager.setOffscreenPageLimit(0);
但是不推薦使用這種方法,如果你有這麼多viewpager中的頁面(至少超過10個)..
創建一個'Fragment'的實例並不意味着它會完全正常工作。它需要附加到一個'Activity',在這個時候OS會完全初始化它並且調用各種生命週期方法。你不能(或者更準確地說*不應該直接調用'Fragment'生命週期方法)。 – Squonk 2014-08-27 09:17:26