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

165 lines
4.8 KiB
Plaintext
Raw Normal View History

2024-02-06 22:23:29 +08:00
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);
}
}