package com.atguigu.maoyannew.moviepager;
import android.content.Context;
import android.support.design.widget.TabLayout;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import com.atguigu.maoyannew.R;
import com.atguigu.maoyannew.base.MovieDetailPager;
import com.atguigu.maoyannew.moviepager.wrodpager.HaiWaiDetailPager;
import com.atguigu.maoyannew.moviepager.wrodpager.HaiWai_HanGuo;
import com.atguigu.maoyannew.moviepager.wrodpager.HaiWai_MeiGuo;
import com.atguigu.maoyannew.moviepager.wrodpager.HaiWai_RiBen;
import com.atguigu.maoyannew.util.LogUtil;
import java.util.ArrayList;
/**
- 作者: from zhao on 2016/5/23 0:47
-
邮箱: dazhao@163.com
*/
public class WorldShowPager extends MovieDetailPager {private MyHwAdapter myHwAdapter;
public WorldShowPager(Context context) {
super(context);}
private TabLayout haiwai_tablayout;
private ViewPager haiwai_vp;// private List list_fragment; //定义要装fragment的列表
private ArrayList haiWaiDetailPagers;private ArrayList list_title; //tab名称列表
private HaiWai_MeiGuo meiguo; //美国fragment
private HaiWai_HanGuo hanguo; //韩国fragment
private HaiWai_RiBen riben; //日本@Override
public View initView() {
LogUtil.e("海外");View view = View.inflate(context, R.layout.pager_worldshow, null); haiwai_tablayout = (TabLayout) view.findViewById(R.id.haiwai_tablayout); haiwai_vp = (ViewPager) view.findViewById(R.id.haiwai_vp);
// x.view().inject(this, view);
return view;
}
@Override
public void initData() {
super.initData();
System.out.println("海外被初始化");
//将fragment装进列表中
haiWaiDetailPagers = new ArrayList<>();
haiWaiDetailPagers.add(new HaiWai_MeiGuo(context));
haiWaiDetailPagers.add(new HaiWai_HanGuo(context));
haiWaiDetailPagers.add(new HaiWai_RiBen(context)) ;
//将名称加载tab名字列表,正常情况下,我们应该在values/arrays.xml中进行定义然后调用
list_title = new ArrayList<>();
list_title.add("美国");
list_title.add("韩国");
list_title.add("日本");
//设置tablayout的模式
haiwai_tablayout.setTabMode(TabLayout.MODE_FIXED);
//为TabLayout添加tab名称
haiwai_tablayout.addTab(haiwai_tablayout.newTab().setText(list_title.get(0)));
haiwai_tablayout.addTab(haiwai_tablayout.newTab().setText(list_title.get(1)));
haiwai_tablayout.addTab(haiwai_tablayout.newTab().setText(list_title.get(2)));
myHwAdapter = new MyHwAdapter();
haiwai_vp.setAdapter(myHwAdapter);
haiwai_tablayout.setupWithViewPager(haiwai_vp);
}
class MyHwAdapter extends PagerAdapter {
@Override
public int getCount() {
Log.e("TAG", "getCount");
return haiWaiDetailPagers.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
Log.e("TAG", "isViewFromObject");
return view == object;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
Log.e("TAG", "destroyItem");
container.removeView(haiWaiDetailPagers.get(position).rootView1);
// container.removeView((View) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
// container.addView(haiWaiDetailPagers.get(position));
// return super.instantiateItem(container, position);
Log.e("TAG", "instantiateitem");
HaiWaiDetailPager worldShowPager = haiWaiDetailPagers.get(position);
View rootView1 = worldShowPager.rootView1;
worldShowPager.initData();
container.addView(rootView1);
return rootView1;
}
// //此方法用来显示tab上的名字
@Override
public CharSequence getPageTitle(int position) {
Log.e("TAG", "11111111111111");
// return list_Title.get(position % list_Title.size());
return list_title.get(position);
}
}
}