这个主要还是adapter 里面 添加list 就行了

这里直接上代码吧 ,我刚写的demo 看的时候看adapter 就行了

布局代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><android.support.design.widget.TabLayoutandroid:id="@+id/detail_food_tablayout"android:layout_width="match_parent"android:layout_height="40dp"android:background="#ffffff"app:tabIndicatorColor="#5BC8F2"app:tabMode="fixed"app:tabSelectedTextColor="#373737"app:tabTextAppearance="@style/TabLayoutTextStyle"app:tabTextColor="#9B9B9B" /><android.support.v4.view.ViewPagerandroid:id="@+id/detail_food_viewpager"android:layout_width="match_parent"android:layout_height="0dp"android:layout_marginTop="0.8dp"android:layout_weight="1" /></LinearLayout>

tablayout + viewpager

public class DetailsActivity extends AppCompatActivity {private TabLayout tabLayout;private ViewPager viewPager;private List<Fragment> fragments;private List<String> titles;private mPagerAdapter adapter;String[] str = {"大海", "蓝天", "白云"};@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.details_activity_layout);fragments = new ArrayList<>();titles = new ArrayList<>();tabLayout = findViewById(R.id.detail_food_tablayout);viewPager = findViewById(R.id.detail_food_viewpager);for (int i = 0; i < str.length; i++) {titles.add(str[i]);fragments.add(DetailsFragment.newInstance(i));}adapter = new mPagerAdapter(getSupportFragmentManager(), titles, fragments);viewPager.setAdapter(adapter);tabLayout.setupWithViewPager(viewPager);}private class mPagerAdapter extends FragmentPagerAdapter {private List<Fragment> mFragmentList;private List<String> mTitles;public mPagerAdapter(FragmentManager fm, List<String> titles, List<Fragment> fragList) {super(fm);mTitles = titles;mFragmentList = fragList;}@Overridepublic Fragment getItem(int position) {return mFragmentList.size() != 0 ? mFragmentList.get(position) : null;}@Overridepublic int getCount() {return mFragmentList == null ? 0 : mFragmentList.size();}@Overridepublic CharSequence getPageTitle(int position) {return mTitles.size() != 0 ? mTitles.get(position) : "";}@Overridepublic void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {}}}

fragment 代码

public class DetailsFragment extends Fragment {private int index;public static DetailsFragment newInstance(int index) {DetailsFragment df = new DetailsFragment();Bundle bundle = new Bundle();bundle.putInt("index", index);df.setArguments(bundle);return df;}@Overridepublic void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);if (getArguments() != null) {index = getArguments().getInt("index");Log.e("-------index", String.valueOf(index));}}@Nullable@Overridepublic View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {View view = inflater.inflate(R.layout.details_fragment_layout, container, false);return view;}@Overridepublic void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {super.onViewCreated(view, savedInstanceState);}
}

Fragment 里面请求服务器加载数据即可。。。。

注意事项 ,由于viewPager 缓存问题第一次进来的还把第二个界面的数据也会加载了,这个问题可以使用Fragment的

懒加载来处理。。。。

Tablayout 多个界面使用一个fragment 的实例相关推荐

  1. Android项目Tab类型主界面大总结 Fragment+TabPageIndicator+ViewPager

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/24740977 Android如今实现Tab类型的界面方式越来越多,今天就把常见的 ...

  2. Kotlin实现微信界面切换(Fragment练习)

    使用kotlin实现微信界面切换功能 1主登录界面 2登录界面的Activity,来处理登录界面,登录成功后即可跳转到微信首页 2.1用于回收键盘的工具类(是一个java文件,但是可以很好的融入到ko ...

  3. Android笔记:Fragment与Activity之间的交互,onAttach,退出最后一个 fragment

    一.交互代码笔记: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28     private Log ...

  4. (仿头条APP项目)2.主界面按钮切换Fragment页面

    文章目录 主界面按钮切换Fragment页面 效果展示 框架结构 xml视图 主视图 选择器和style java代码模块 创建4个Fragment 1.绑定按钮选择事件 2.初始化和用HashMap ...

  5. Android之解决viewpage加载第3个fragment的时候,第一个fragment又重新构建问题

    1 .问题 viewpage加载第3个fragment的时候,第一个fragment又重新构建问题,感觉自己好傻逼的,不知道啥原因,原来是少了一个设置,加载旁边多少个fragment不销毁 2 .解决 ...

  6. 【Android Developers Training】 20. 创建一个Fragment

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  7. 自动关闭当前的Fragment返回上一个Fragment该如何实现

    场景: 当我们在当前的fragment完成事件后,需要让他自动返回上一个fragment. 原文:https://blog.csdn.net/zhuangshiwenbin/article/detai ...

  8. android多App间多界面交互,一个APP如何适配多个Android终端?

    简介: 传统的多终端适配方案,是为大尺寸Pad开发一个特定的HD版本.但是目前支持Android系统的设备类型越来越丰富,不同类型的设备尺寸也越来越多样化,特定的HD版本并不能适配所有设备尺寸.App ...

  9. android 点击刷新界面,Activity和Fragment怎么刷新界面

    如果现在通过网络取得了新的数据,需要通过刷新显示在界面上,应该怎么做比较好呢? 我现在只会find控件,然后用set方法设置. 我还是贴一下源码吧. 这个是我的一个fragment,我把他放在view ...

最新文章

  1. 效率飞起!BML CodeLab发布重磅更新
  2. 谁来执行Rebalance以及管理consumer的group呢?
  3. linux raw socket 例子,raw socket编程例子
  4. js 弹窗并定时关闭
  5. VSCODE打开野火电机代码需要增加的配置 c_cpp_properties.json
  6. php堆栈溢出,php - 警告:php_eval() - 堆栈内存溢出
  7. Extjs TreeNode的图标元素。 (节点图标, expand的加减号)
  8. SQL2008--SQL语句-存储过程-触发器-事务处理-基本语法-函数
  9. 如何用python制作五子棋游戏_Python制作打地鼠小游戏
  10. java-web 过滤器 amp; 监听器 amp; 拦截器
  11. SVN 创建分支,分支与主干的合并
  12. 区块链开发主流编程语言居然是Go语言
  13. AMH主机面板实现伪静态规则教程
  14. iOS category内部实现原理
  15. iOS苹果超级签苹果分发平台企鹅:422903005
  16. 使用青龙面板BP京东豆
  17. 前沿资讯:索尼展现裸眼3D显示技术,阿里推出图计算平台……
  18. 没有目标的人生是可怕的!
  19. 2021-2027全球与中国太阳能EVA板市场现状及未来发展趋势
  20. honts/htonl等大小端转换函数的原理

热门文章

  1. 基于Golang的监听读取配置文件的程序包开发——simpleConfig_v1
  2. 2022-2028年中国社区体育产业深度调研及投资前景预测报告
  3. 信息熵及其相关概念--数学
  4. 使virtualenv从您的全局站点包继承特定的包
  5. pandas数据框,统计某列或者某行数据元素的个数
  6. Python zip() 函数
  7. CUDA 内存统一分析
  8. NVIDIA空中导航SDK改造5G通信
  9. 2021年大数据ELK(十六):Elasticsearch SQL(职位查询案例)
  10. 2021年大数据HBase(十三):HBase读取和存储数据的流程