Android 获取v7 compat ActionBarContainer
作为我正在开发的应用程序的一部分,我正在尝试获取对Android 获取v7 compat ActionBarContainer,android,android-actionbar-compat,Android,Android Actionbar Compat,作为我正在开发的应用程序的一部分,我正在尝试获取对ActionBar的容器视图的引用。我使用了来自的答案,只要所讨论的Android设备运行的是API级别11或更高,它就可以很好地为我工作。然而,该应用程序需要在API级别9之前运行(目标API级别为19),姜饼设备给我带来了问题。我最初在项目中使用Sherlock,但最近改为使用v7 compat库。我可以在姜饼设备上以正常方式查看操作栏并与之交互(按钮工作等),但当我尝试获取容器时,操作栏失败。我使用的代码是这样的(注意-它在ActionBa
ActionBar
的容器视图的引用。我使用了来自的答案,只要所讨论的Android设备运行的是API级别11或更高,它就可以很好地为我工作。然而,该应用程序需要在API级别9之前运行(目标API级别为19),姜饼设备给我带来了问题。我最初在项目中使用Sherlock,但最近改为使用v7 compat库。我可以在姜饼设备上以正常方式查看操作栏并与之交互(按钮工作等),但当我尝试获取容器时,操作栏失败。我使用的代码是这样的(注意-它在ActionBarActivity
的子类中运行):
在被询问之前,回答几个问题:
ClassCastException
抛出(它永远不应该抛出,因为容器是FrameLayout
的子类)ActionBar
引用(以及所有相关的东西,比如我正在扩展的ActionBarActivity
超类)都是v7 compat库版本,而不是标准库版本action\u bar\u容器
ID应该存在于v7 compat库中在这一点上我几乎没有主意了。有什么简单的东西我遗漏了吗?如果您有任何建议,我们将不胜感激。如果您需要更多的上下文/说明,请告诉我。我认为您的错误在于
int resId = getResources().getIdentifier("action_bar_container", "id", "android");
对于api级别我认为您的错误在
int resId = getResources().getIdentifier("action_bar_container", "id", "android");
先生,就api级别而言,您是一位绅士和学者。这完全成功了。非常感谢。令人惊叹的。你救了我的命,先生,你是一位绅士和学者。这完全成功了。非常感谢。令人惊叹的。你救了我一天。