一个良好划分Activity创建步骤的BaseActivity

一个Activity的创建过程其实包含几个不同的步骤,基本上都是在onCreate函数中完成的,这些步骤主要有:

  • 设置页面的布局文件
  • 初始化页面包含的控件
  • 设置页面控件的点击响应事件
  • 处理页面的业务逻辑

为了规范Activity的创建过程,我们有必要来创建一个模版,基于模版方法实现一个Activity的基类BaseActivity:

复制代码
/**
 * Activity基类,用于封装公共操作
 *
 * @author asce1885
 * @version 1.0.0
 * @date 2015.11.25
 */
public abstract class BaseActivity extends FragmentActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // 设置layout布局
        setContentView(initPageLayoutID());

        // 初始化页面控件
        initPageView();

        // 初始化页面控件点击
        initPageViewListener();

        // 业务逻辑处理
        processBusiness(savedInstanceState);
    }

    /**
     * 生成主文件布局ID
     */
    protected abstract int initPageLayoutID();
    
    /**
     * 初始化页面控件
     */
    protected abstract void initPageView();
    
    /**
     * 页面控件点击事件处理
     */
    protected abstract void initPageViewListener();
    
    /**
     * 业务逻辑处理
     *
     * @param savedInstanceState
     */
    protected abstract void processBusiness(Bundle savedInstanceState);

}
复制代码

 

posted @   tc310  阅读(325)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示