Fragment的继承关系

本文详细介绍了Fragment的继承关系,展示了如何创建及管理Fragment,并探讨了Fragment的生命周期,包括onAttach、onCreate、onCreateView等关键方法。此外,还讨论了Fragment的回退栈操作,如addToBackStack,以及多种Fragment间传值的方法,如setArguments、getArguments、Handler和接口回调。通过实例代码解析,帮助读者深入理解Fragment的使用。
摘要由CSDN通过智能技术生成

Fragment的继承关系

Fragment的继承关系.png

Fragment的实现方式

创建一个类,继承Fragment
重写父类的方法onCreateView()
在onCreateView()方法中,为Fragment创建UI界面

Java代码
​ MyFragment类
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class MyFragment extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return getLayoutInflater().inflate(R.layout.fragment_layout, null);
}
}

​ MainActivity类
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends AppCompatActivity {

private MyFragment myFragment;
private MyFragment1 myFragment1;
private FragmentManager fragmentManager;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //创建fragment对象
    myFragment = new MyFragment();
    myFragment1 = new MyFragment1();
    //获得fragment的管理类对象
    fragmentManager = getSupportFragmentManager();
    //获得事务管理者
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
    //添加fragment
    fragmentTransaction.add(R.id.zhen, myFragment, "叽里咕噜");
    fragmentTransaction.add(R.id.zhen, myFragment1, "123");
    fragmentTransaction.hide(myFragment1);

// //移除fragment
// fragmentTransaction.remove(myFragment);
// //显示fragment
// fragmentTransaction.show(myFragment);
// //隐藏fragment
// fragmentTransaction.hide(myFragment);
// //替换
// fragmentTransaction.replace(R.id.zhen,myFragment);
//提交事务
fragmentTransaction.commit();
}

public void show(View view) {
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
    fragmentTransaction.show(myFragment1);
    fragmentTransaction.commit();
}

public void remove(View view) {
    FragmentTransaction fragmentTransaction = fragmentMana
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值