Viewpager 的Fragment裏面放一個viewpager 佔位且空白

這個問題困擾了我一天一個下午,查閱了很多資料都沒有結果,還是自己對着代碼看,看出了端倪。

先簡單的說明一下錯誤的原因,fragment沒有實例化。
在外層的viewpager中我採用的是inflate方法,直接把fragment的佈局文件轉化爲視圖,但是fragment裏面的java代碼並沒有執行絲毫,所以導致裏層的數據根本沒有加載上去,如果你還沒有看懂,下面我將以代碼說明。

mainacitivty。java裏面

View view1 = View.inflate(this, R.layout.school_fragment_layout, null);
View view2 = View.inflate(this, R.layout.school_mate_fragment_layout,   null);
View view3 = View.inflate(this, R.layout.dynamic_fragment_layout, null);
View view4 = View   .inflate(this, R.layout.personal_fragment_layout, null);

view_list.add(view1 );
view_list.add(view2 );
view_list.add(view3 );
view_list.add(view4 );

MyViewPagerAdapter adapter = new MyViewPagerAdapter(view_list, getActivity().getApplicationContext());
mviewpager.setAdapter(adapter);

這就樣fragment沒有初始化。

那麼我們就要利用fragmentpageradapter,這個adapter需要填入的參數是fragment,下面代買示例:

fragment_list.add(new SchoolFragment());
fragment_list.add(new SchoolMateFragment());
fragment_list.add(new DynamicFragment());
fragment_list.add(new PersonalFragment());

//特別說明activitiy要繼承自FragmentActivity
    MyFragmentPagerAdapter adapter = new MyFragmentPagerAdapter(getSupportFragmentManager(), fragment_list);
        mviewpager.setAdapter(adapter);

這樣子大家就應該都懂了,還有什麼不懂和不足的地方請留言。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章