Java 如何访问将由另一个活动子类化的类扩展活动中的布局?

Java 如何访问将由另一个活动子类化的类扩展活动中的布局?,java,android,android-activity,Java,Android,Android Activity,我在Android应用程序中使用了一个SideNavigationBar(除了ActionBarSherlock),对于如何创建一个扩展SherlockActivity的类,我感到进退两难 因为我的所有活动都有一个侧导航栏和一个类似主题的ABS,所以我创建SherlockActivity的通用子类是有意义的,它初始化侧导航和ABS,并在我的整个活动中保持不变,然后为我的所有独特活动(主页、设置等)扩展此子类。例如,HomeActivity扩展了ActionBarActivity,后者扩展了She

我在Android应用程序中使用了一个SideNavigationBar(除了ActionBarSherlock),对于如何创建一个扩展SherlockActivity的类,我感到进退两难

因为我的所有活动都有一个侧导航栏和一个类似主题的ABS,所以我创建SherlockActivity的通用子类是有意义的,它初始化侧导航和ABS,并在我的整个活动中保持不变,然后为我的所有独特活动(主页、设置等)扩展此子类。例如,HomeActivity扩展了ActionBarActivity,后者扩展了SherlockActivity。ActionBarActivity是我希望对ABS进行所有定制并初始化侧栏的地方

问题是我不知道如何从ActionBarActivity访问布局,这是必要的,因为这是我获取SidenavigationBar(使用findViewById)的地方。如果我在HomeActivity中执行此操作,我会在设置内容视图(setContentView)后使用findViewById访问布局,但由于我从未在ActionBarActivity中设置内容视图,我不太确定如何从布局访问SidenavigationBar

谢谢你的帮助

但由于我从未在ActionBarActivity中设置内容视图,因此我不太确定如何从布局访问SidenavigationBar

如果我理解您的问题,HomeActivity会调用
setContentView()
,但您希望访问其父ActionBarActivity中的布局?

然后只需在ActionBarActivity中创建一个新方法(可能是
initSideNavigationBar()
)。这个新方法可以像以前一样调用
findViewById()
,只要您在HomeActivity中的
setContentView()
之后调用它。

我需要向该方法传递任何内容吗?因为我尝试将super.onCreate()(在HomeActivity中)放在setContentView之后,希望这样我就可以访问布局,但它仍然不起作用。只是意识到我很愚蠢(没有将侧边栏添加到视图中…以及其他一些东西)。不管怎样,谢谢,回答接受!