java - 如何访问扩展 Activity 的类中的布局,该类将由另一个 Activity 子类化?

标签 java android android-activity

我在 Android 应用程序中使用 SideNavigationBar(除了 ActionBarSherlock 之外),但对于如何创建扩展 SherlockActivity 的类,我陷入了困境。

由于我的所有 Activity 都有一个 SideNavigation 栏和一个类似主题的 ABS,因此我创建 SherlockActivity 的通用子类是有意义的,该子类初始化 SideNavigation 和 ABS,它们在我的整个 Activity 中保持不变,然后为我的所有 Activity 扩展此子类独特的 Activity (主页、设置等)。例如,HomeActivity 扩展了 ActionBarActivity,而 ActionBarActivity 又扩展了 SherlockActivity。 ActionBarActivity 是我希望进行所有 ABS 定制和初始化侧边栏的地方。

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

感谢您的帮助!

最佳答案

but since I never set the content view in ActionBarActivity, i'm not quite sure how I can access the SidenavigationBar from the layout.

如果我理解你的问题,HomeActivity 会调用 setContentView() 但你想访问其父 ActionBarActivity 中的布局?
然后只需在 ActionBarActivity 中创建一个新方法(可能是 initSideNavigationBar())。这个新方法可以像以前一样调用 findViewById(),只要您在 HomeActivity 中的 setContentView() 之后调用即可。

关于java - 如何访问扩展 Activity 的类中的布局,该类将由另一个 Activity 子类化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16065831/

相关文章:

java - Lucene 5.5.0 StopFilter 错误

android - 如何在android中 ListView 整行可选?

android - 使用可见软件键盘的 Activity

java - 如何根据 Firebase 中帖子的点赞数对 Android 中的 RecyclerView 中的数据进行排序?

java - 将时间 int 转换为分钟 秒 小时

java - struts2中如何使用jsp将值传递到新窗口

android - 在空对象引用上获取空指针异常虚拟方法 'long android.graphics.Paint.getNativeInstance()'

android - 使用谷歌浏览器在 Android 上呈现奇怪的 html

java - 在新 Intent 中监控 AsyncTask 执行情况?

java - Eclipse Android SDK : Can't access layouts after adding 2nd activity