封装Activity

编写一个Activity基类,对Activity进行封装,方便使用

1、新建抽象类BaseActivity继承AppCompatActivity,并实现OnClickListener接口

public abstract class  BaseActivity extends AppCompatActivity{

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //获取布局
        setContentView(getLayoutId());
        //调用方法
        initView();
        initData();
        onCheckedChanged();

    }

    //监听事件
    protected abstract void onCheckedChanged();

    protected abstract int getLayoutId();

    /**
     * 初始化View
     */
    protected abstract void initView();


    /**
     * 初始化数据
     */
    protected abstract void initData();

}
2.继承BaseActivity,重写里面的抽象方法.要删除里边的Oncreate()方法

public class MainActivity extends BaseActivity {

    private RadioGroup rg;
    private FragmentManager manager;
    List<Fragment> fragmentlist=new ArrayList<>();


    /**
     * 初始化View
     */
    @Override
    protected void initView() {
        //获取控件
        rg = findViewById(R.id.rg);
        // 把fragment添加到集合
        initData();
        //获取管理者
        manager = getSupportFragmentManager();
        manager.beginTransaction().add(R.id.fl,fragmentlist.get(0)).commit();
}
   //把布局id穿过去
    @Override
    protected int getLayoutId() {
        return R.layout.activity_main;
    }
    /**
     * 初始化数据
     */
    @Override
    protected void initData() {
        f1 f1=new f1();
        f2 f2=new f2();
        f3 f3=new f3();
        f4 f4=new f4();
        f5 f5=new f5();
        fragmentlist.add(f1);
        fragmentlist.add(f2);
        fragmentlist.add(f3);
        fragmentlist.add(f4);
        fragmentlist.add(f5);
    }


    @Override
    protected void onCheckedChanged() {
        //给RadioGroup添加监听事件
       rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup radioGroup, int i) {
               switch (i){
                    case R.id.rb1:
                        manager.beginTransaction().replace(R.id.fl, fragmentlist.get(0)).commit();
                        break;
                    case R.id.rb2:
                        manager.beginTransaction().replace(R.id.fl, fragmentlist.get(1)).commit();
                        break;
                    case R.id.rb3:
                        manager.beginTransaction().replace(R.id.fl, fragmentlist.get(2)).commit();
                        break;
                    case R.id.rb4:
                       manager.beginTransaction().replace(R.id.fl, fragmentlist.get(3)).commit();
                        break;
                    case R.id.rb5:
                        manager.beginTransaction().replace(R.id.fl, fragmentlist.get(4)).commit();
                        break;
                }
            }
        });
    }
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值