AndroidAnnotations的继承活动

AndroidAnnotations的继承活动,第1张

概述使用 AndroidAnnotations构建活动时遇到一些麻烦. 我有一个名为TemplateActivity的父Activity: @EActivity(R.layout.activity_template)@NoTitlepublic class TemplateActivity extends Activity{ // some views // ... @V 使用 AndroidAnnotations构建活动时遇到一些麻烦.
我有一个名为TemplateActivity的父Activity:
@EActivity(R.layout.activity_template)@NoTitlepublic class TemplateActivity extends Activity{    // some vIEws    // ...    @VIEwByID(R.ID.main_framelayout)    FrameLayout mainFrameLayout;    @AfterVIEws    public voID postinit()    {        Log.d("DEBUG","postinit"); // never called,strange...     }    public voID setMainVIEw(int layoutResID)    {        mainFrameLayout.addVIEw(LayoutInflater.from(this).inflate(layoutResID,null));    }}

在我的第二个Activity中,我想用anoter layout xml填充mainFrameLayout,如下所示:

@EActivitypublic class ChildActivity extends TemplateActivity{    @OverrIDe    public voID postinit()    {        super.postinit();        setMainVIEw(R.layout.activity_child_one);           }}

当我想要startActivity时,我的ChildActivity是空白的,并且从未调用过postinit.
谁能告诉我有什么问题?谢谢你提前.

解决方法 父类中的注释将生成具有指定布局的TemplateActivity_类.子类将继承该父类的“普通”内容,但具有自己的AA子类(ChildActivity_).所以你应该指定在那里使用的布局.只需看看生成的类,看看那里发生了什么.

AA的工作原理是为带注释的类生成一个新的子类(例如TemplateActivity_ extends TemplateActivity),其中包含实现注释结果所需的代码.例如,在此类中,onCreate()方法将实例化所需的布局,使用@Background注释的方法将被另一个在后台线程中调用原始方法的实现覆盖. AndroIDAnnotations在运行时并没有真正做任何事情,所有内容都可以在它生成的类中看到,只需查看.apt_generated文件夹(或者生成类的任何地方).如果它不能完全按照您的意愿行事,这也会有所帮助,因为您可以只看一看它的作用,并以您需要的方式自行完成.

在您的情况下,继承层次结构如下所示:

TemplateActivity (with annotations)L--> TemplateActivity_ (with generated code for the layout)L--> ChildActivity (your other class,no generated code)     L--> ChildActivity_ (with code generated for the annotations in ChildActivity)

Afaik并非所有注释都传递给子类.

总结

以上是内存溢出为你收集整理的AndroidAnnotations的继承活动全部内容,希望文章能够帮你解决AndroidAnnotations的继承活动所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1143712.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存