Android Fragment复用

Fragment
Android3.0开始引入了fragment,主要用来实现一个多任务的界面。
fragment是activity的子界面了,运行在activity上面的。
为了能够向下兼容低版本的API,让所有与fragment相关的API都从support.v**包中导入
Fragment经常和FrameLayout一块使用

下面来介绍一下Fragment的生命周期:

在这里插入图片描述

直接上代码:
创建一个Activity:

List list = new ArrayList<>();
List table = new ArrayList<>();
table.add(“话题”);
table.add(“精选”);
table.add(“分类”);
int[] a = new int[]{0,1,2};
for (int i = 0; i < table.size(); i++) {
HuaTi_Fragment huaTi_fragment = HuaTi_Fragment.newInstance(a[i]);
list.add(huaTi_fragment);
}
mAdapter = new HuaTi_Adapter(getChildFragmentManager(), list, table);
HuaTi_vp.setAdapter(mAdapter);
HuaTi_tab.setupWithViewPager(HuaTi_vp);

xml布局

<?xml version="1.0" encoding="utf-8"?>

<android.support.design.widget.TabLayout
    android:id="@+id/huati_tab"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"></android.support.design.widget.TabLayout>

<android.support.v4.view.ViewPager
    android:id="@+id/huati_vp"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@id/huati_tab"></android.support.v4.view.ViewPager>

Fragment界面:
//进行传递数据 以及标记
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle arguments = getArguments();
if (arguments != null) {
mFlag = arguments.getInt(“flag”);
}
}
//在Fragemnt创建Fragemt

//TODO   生成Fragment对象并传值
public static HuaTi_Fragment newInstance(int flag) {
    HuaTi_Fragment testFragment = new HuaTi_Fragment();
    Bundle bundle = new Bundle();
    bundle.putInt("flag", flag);
    testFragment.setArguments(bundle);
    return testFragment;
}

//标记可以用来选中加载不同的的布局

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值