Inflater&TabLayout&ViewPager
2015-09-15 01:25
351 查看
package com.pcs.learn.Main; import android.content.Context; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.design.widget.TabLayout; import android.support.v4.app.FragmentManager; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ListView; import com.pcs.learn.Base.BaseFragment; import com.pcs.learn.R; import com.pcs.learn.View.PullableView.PullToRefreshLayout; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import butterknife.Bind; import butterknife.ButterKnife; /** * Created by chaosi on 2015/9/12. */ public class GroupFragment extends BaseFragment { @Bind(R.id.viewPager) ViewPager viewPager; @Bind(R.id.tabLayout) TabLayout tabLayout; public View mView; public Context mContext; public FragmentManager mFragmentManager; public List<View> mViewList = new ArrayList<>(); public List<String> mTitleList = new ArrayList<>(); public ListView talkListView; public ListView groupListView; @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { super.init(); mContext= getActivity(); mFragmentManager= getActivity().getSupportFragmentManager(); mView= inflater.inflate(R.layout.fragment_group, container, false); ButterKnife.bind(this, mView); mTitleList.add("会话"); mTitleList.add("小组"); tabLayout.setTabMode(TabLayout.MODE_FIXED); tabLayout.addTab(tabLayout.newTab().setText(mTitleList.get(0))); tabLayout.addTab(tabLayout.newTab().setText(mTitleList.get(1))); LayoutInflater mInflater = LayoutInflater.from(mContext); View talkView = mInflater.inflate(R.layout.fragment_list, null); View groupView = mInflater.inflate(R.layout.fragment_list, null); mViewList.add(talkView); mViewList.add(groupView); MyPagerAdapter mAdapter = new MyPagerAdapter(mViewList, mTitleList); viewPager.setAdapter(mAdapter); //给ViewPager设置适配器 tabLayout.setupWithViewPager(viewPager); //将TabLayout和ViewPager关联起来。 tabLayout.setTabsFromPagerAdapter(mAdapter); //给Tabs设置适配器 talkListView= (ListView)((PullToRefreshLayout)talkView).getChildAt(1); groupListView= (ListView)((PullToRefreshLayout)groupView).getChildAt(1); talkListView.setAdapter(new ArrayAdapter<>(mContext, android.R.layout.simple_list_item_1, Arrays.asList("111","222","333","444","555"))); groupListView.setAdapter(new ArrayAdapter<>(mContext, android.R.layout.simple_list_item_1, Arrays.asList("111","222","333","444","555"))); return mView; } private class MyPagerAdapter extends PagerAdapter { private List<View> mViewList; private List<String> mTitleList; public MyPagerAdapter(List<View> mViewList, List<String> mTitleList) { this.mViewList = mViewList; this.mTitleList = mTitleList; } @Override public int getCount() { return mViewList.size(); //页卡数 } @Override public boolean isViewFromObject(View view, Object object) { return view == object; //官方推荐写法 } @Override public Object instantiateItem(ViewGroup container, int position) { container.addView(mViewList.get(position)); //添加页卡 return mViewList.get(position); } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView(mViewList.get(position)); //删除页卡 } @Override public CharSequence getPageTitle(int position) { return mTitleList.get(position); //页卡标题 } } }
相关文章推荐
- 创业的第三十九天
- MySQLのMySQL备份
- 我的2年苦逼狗血相亲经历(6)
- linux分区和文件系统管理
- 我的2年苦逼狗血相亲经历(5)
- Dt大数据梦工厂王家林老师 Scala实战详解之第15讲 Scala多重继承、多重继承构造器执行顺序及AOP实现
- Dt大数据梦工厂王家林老师 Scala实战详解之第14讲 Scala中作为接口的trait、在对象中混入trait代码实战
- Dt大数据梦工厂王家林老师 Scala实战详解之第13讲 抽象类、抽象字段、抽象方法
- LightOJ 1003 - Drunk【拓扑排序】
- USACO Section 1.2 Complete Search
- Dt大数据梦工厂王家林老师 Scala实战详解之第12讲 Scala中的继承:超类的构造、重写字段、重写方法代码实战
- 我的2年苦逼狗血相亲经历(4)
- error
- 中缀表达式转换成前缀表达式和后缀表达式的极其简单方法
- 数学建模一二
- mac 显示隐藏文件
- 数学建模一二
- Dt大数据梦工厂王家林老师 Scala实战详解之第11讲 Scala中的apply实战详解
- 0901作业
- Dt大数据梦工厂王家林老师 Scala实战详解之第10讲 Scala单例对象、伴生对象实战详解