pda/zhuike/.svn/pristine/79/79c72c5ee5460cf6d7298c02b09...

165 lines
4.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.novelbook.android.Fragments;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.support.v4.view.ViewPager;
import android.util.Log;
import android.view.View;
import com.novelbook.android.R;
import com.flyco.tablayout.SlidingTabLayout;
import com.umeng.analytics.MobclickAgent;
import java.util.ArrayList;
import butterknife.BindView;
public class Fragment_bookStore extends BasicFragment {
public final static String TAG=Fragment_bookStore.class.getSimpleName();
public static String getFTag() {
return "com.novelbook.android.Fragments.Fragment_bookStore";
}
@BindView(R.id.viewpager)
ViewPager mViewpager;
@BindView(R.id.tab_layout)
SlidingTabLayout tabLayout;
private FragmentStatePagerAdapter mAdapter =null;
private ArrayList<BasicFragment> mFragments;
// private ArrayList<BasicFragment> mFragments_cp;
ArrayList<View> mList;
String[] mTitle;
Fragment_jingxuan fragment_jingxuan;
FragmentCates fragmentCates;
Fragment_bangdans fragment_bangdans;
protected void processArguments(){
if (getArguments() != null) {
Bundle bundle = getArguments() ;
}
}
@Override
protected void fillData() {
}
public static Fragment_bookStore newInstance(String param1, String param2) {
Fragment_bookStore fragment = new Fragment_bookStore();
Bundle args = new Bundle();
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d(TAG,"Fragment_bookStore fragment onCreate ");
fragment_jingxuan = new Fragment_jingxuan();
fragmentCates =FragmentCates.newInstance();
fragment_bangdans = new Fragment_bangdans();
}
@Override
protected int getLayoutRes() {
return R.layout.fragment_book_store;
}
@Override
public void initData() {
mTitle = new String[]{"精选","分类", "榜单"};
}
public void onSexSwitch(){
if(mAdapter!=null) {
/* for(BasicFragment bf: mFragments_cp){
bf.initData();
}*/
/* for(int i=0;i<mAdapter.getCount();i++){
((BasicFragment) mAdapter.getItem(i)).initData();
}*/
/* fragment_jingxuan.initData();
fragmentCates.initData();
fragment_bangdans.initData() ;
mAdapter.notifyDataSetChanged();*/
}
Log.d(TAG, "setSexOption: to reload 3 fragment data" );
fragment_jingxuan.initData();
fragmentCates.initData();
fragment_bangdans.initData() ;
}
@Override
public void initViews(){
initTabs();
}
//---------tabs-------------
void initTabs() {
if(mFragments ==null || mFragments.size() ==0){
// mTitle = new String[]{"精选", "榜单", "书单"};
mFragments = new ArrayList<>();
mFragments.add(fragment_jingxuan);
mFragments.add(fragmentCates);
mFragments.add(fragment_bangdans);
// mFragments_cp = new ArrayList<>();
// mFragments_cp.addAll(mFragments);
// mFragments.add(new Fragment_shudan());
Log.d(TAG,"initial fragments in tabs ");
}
Log.d(TAG,"set viewPager adapter ");
// FragmentPagerAdapter mAdapter = new FragmentPagerAdapter(activity.getSupportFragmentManager()) { 第一次进入没问题再次进入ViewPager的fragment时里面内容就没了,数据丢失 https://blog.csdn.net/allan_bst/article/details/64920076
mAdapter = new FragmentStatePagerAdapter(getChildFragmentManager()) {
@Override
public Fragment getItem(int position) {
return mFragments.get(position);
}
@Override
public int getCount() {
return mFragments.size();
}
//ViewPager与TabLayout绑定后这里获取到PageTitle就是Tab的Text
@Override
public CharSequence getPageTitle(int position) {
return mTitle[position];
}
};
mViewpager.setOffscreenPageLimit(4);//预加载设置
mViewpager.setAdapter(mAdapter);
tabLayout.setViewPager(mViewpager);
// tabLayout.setViewPager(mViewpager, mTitle, activity, mFragments);
// mViewpager.setCurrentItem(0);
}
@Override
public void onResume() {
super.onResume();
MobclickAgent.onPageStart(TAG);
}
@Override
public void onPause(){
super.onPause();
MobclickAgent.onPageEnd(TAG);
}
}