TabLayout和Bundle传值viewpage Fragment
来源:互联网 发布:视频压制软件 编辑:程序博客网 时间:2024/06/05 16:19
首先还是要导依赖包
compile 'com.android.support:design:26+'
然后在XML文件里,代码如下:<android.support.design.widget.TabLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/tab" app:tabSelectedTextColor="@color/colorAccent"//这个表示标题默认滑动的颜色 ></android.support.design.widget.TabLayout> <android.support.v4.view.ViewPager android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="2" android:id="@+id/vp" ></android.support.v4.view.ViewPager>在MainActivity的方法,代码如下:
String[] chaans={"关注", "热点", "推荐", "北京", "娱乐", "体育", "教育", "科技", "历史", "地理", "视频"}; private TabLayout tab; private ViewPager vp;List<Fragment> list=new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tab = findViewById(R.id.tab); vp = findViewById(R.id.vp); getData(); //设置Viewpage适配器 MypageAdapter my=new MypageAdapter(getSupportFragmentManager()); vp.setAdapter(my); //让子tablayout和Viewpage相关联 tab.setupWithViewPager(vp); //设置显示的模式 tab.setTabMode(TabLayout.MODE_SCROLLABLE); } public void getData(){ for (int i = 0; i <chaans.length ; i++) { //给Tablayout设置标题 tab.addTab(tab.newTab().setText(chaans[i])); } for (int i = 0; i <chaans.length ; i++) { //实列化Fragment Frag1 f1=new Frag1(); Bundle bu=new Bundle(); bu.putString("table",chaans[i]); f1.setArguments(bu); ///保存fragment,作为vp的pager页 list.add(f1); } }class MypageAdapter extends FragmentPagerAdapter{ public MypageAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { return list.get(position); } @Override public int getCount() { return list.size(); } @Override public CharSequence getPageTitle(int position) { return chaans[position]; }}在Fragment里的方法:public class Frag1 extends Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { Bundle a = getArguments(); TextView te=new TextView(getActivity()); //给textView赋不同的值 te.setText(a.getString("table")); return te; }}
阅读全文
0 0
- TabLayout和Bundle传值viewpage Fragment
- Android Tablayout和viewpage fragment连用
- TabLayout+ViewPage+Fragment的使用
- Android Fragment viewPage TabLayout用法。
- DrawerLayout+Tablayout+PullTofresh+Fragment(Viewpage)
- DrawerLayout+Tablayout+PullTofresh+Fragment(Viewpage)
- TabLayout和Viewpage连用
- TabLayout+ViewPage+Fragment简单使用的方法
- Banner+DrawerLayout+Tablayout+PullTofresh+Fragment(Viewpage)
- Banner+DrawerLayout+Tablayout+PullTofresh+Fragment(Viewpage)
- Android使用TabLayout、ViewPage和Fragment实现导航条的效果
- Tablayout+Viewpage
- TabLayout+ViewPage
- TabLayout+ViewPage
- viewpage+fragment+tablayout+imageloder(代码)+适配+权限+依赖
- android项目Tab标签页面大汇总(Fragment、Fragment+ViewPage、TabLayout)
- viewpage + fragment
- ViewPage+fragment
- 数据结构实验之查找二:平衡二叉树
- lua语法
- C#连接oracle数据库
- 谷歌
- 读书笔记——《深入理解Java虚拟机》系列之四种垃圾收集算法
- TabLayout和Bundle传值viewpage Fragment
- Elasticsearch6.x之Kibana插件安装-yellowcong
- 学习5
- IO流:Reader/Write字符流
- cropper.js 裁剪图片并上传(文档翻译+demo)
- 协程coroutine
- 欢迎使用CSDN-markdown编辑器
- STM32项目(七) —— 智能仓库管理系统
- Java入门以及进阶路线、时间安排