Android-Android 能否继承自己写的Activity类呢

Android-Android 能否继承自己写的Activity类呢

晚风撩人 发布于 2017-02-05 字数 532 浏览 1320 回复 5

如题,因为写很多个Activity,界面都是相似的,有相当部分行为之类的相同,因此打算继承一个自己的Activity类,但是继承自己的Activity会调用super.onCreate(savedInstanceState);这样不就会影响布局了吗?

===================================================================
举个例.
假如我很多地方都用到相同布局的标题栏,然后我在A Activity里面写好这个标题栏的布局控件相关功能,例如控件的初始化,返回按钮的单击事件等等.然后B Activity需要用的时候,直接继承A Activity,然后省去这个标题栏的相关代码.不知道这样子可不可以实现,应该怎么实现?

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

浮生未歇 2017-10-07 5 楼

最后我是这么做的,先写好一个父Activity类
里面有所有相同的控件的初始化,事件等等,但是这个父Activity并没有setContentView
onCreate事件也是最原始的状态,什么都不做,这样就不会出现报错
接着在子Activity类中直接继承,setContentView,然后调用父Activity类中的方法就可以了

清晨说ぺ晚安 2017-06-06 4 楼

对于这种复用布局的情况,我觉得没有必要写一个 baseActivity ,可以写一个 View ,这个 View 包含了那些需要复用的控件,然后这个 View 就可以在其他的 Activity 中使用了,相当于这个 View 是一个自定义控件,要用就拿来用就可以了,至于这个 View 中的控件的事件,如果是可以复用的事件就在 View 里面设置监听器并处理,如果不能复用的事件,就可以把 View 里面控件返回出来,在使用的地方设置监听器。

甜柠檬 2017-05-26 3 楼

当然是可以继承自己写的类的。有一些软件的多个Activity界面相似,完全可以这样做。没有问题,也不会影响布局的。只是你不要在自定义的基类Activity的OnCreate()函数里面设置View布局,而是在不同的子类里面设置各自的布局就OK了。

晚风撩人 2017-04-28 2 楼

不知道啥意思。难道写代码的时候,不都是使用自己继承的Activity吗?

泛泛之交 2017-04-04 1 楼

1.如果是标题栏这种高度模板化的,可以采取继承的方式.
担心onCreate?你可以

class Base extend Activity
{
@Override
public void onPostCreated()
{
//初始化模板组件功能
}
}

2.如果是一个相对独立,配置性较强的view.则推荐继承ViewGroup自行封装.具体例子参考API Demos
3.fragment也是不错的选择方案