封装Activity
来源:互联网 发布:词典软件 推荐 编辑:程序博客网 时间:2024/06/03 19:56
编写一个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; } } }); }}
阅读全文
0 0
- 封装Activity
- Activity的封装
- 对Activity的封装
- Activity之封装intent
- activity跳转的封装
- 封装Activity 抽象类
- 封装View,封装逻辑,脱光activity
- Activity的封装以及美化
- 浅谈Activity,Fragment模块化封装
- 对Activity跳转的封装
- Android Activity基类封装
- 客户端封装Fragment和Activity
- Activity和fragment的封装
- 封装的基类activity
- Android - 封装Fragment不依赖于Activity
- Android中对Activity的一些封装
- 封装popwindow类,实现所有activity共用
- 封装篇——基类Activity
- windows串口通讯(读和写,很方便!!)
- 依赖注入和控制反转
- 1004. 成绩排名 (20)
- C语言二分查找
- C语言实现栈(栈的链式实现)
- 封装Activity
- 天耀18期 – 07.面向对象-继承、访问权限【作业】
- PullToRefresh上拉和下拉简单实现
- 视频同步项目中的一些问题
- flask-bootstrap插件
- Spring boot 十三 读取 环境变量
- LeetCode 191. Number of 1 Bits (Easy)
- axios.js
- linux socket 通信, 服务器端bind socket出现address already in use问题