我可以在同一个活动中使用兼容的操作栏和片段吗?

时间:2012-01-27 21:15:58

标签: android

好的,我一直在将我的活动扩展到

extends ActionBarActivity

我的主菜单页

extends FragmentActivity

当我更改它以扩展ActionBarActivity以便我可以在主菜单上看到我的操作栏标题时,它会抛出并给出“错误膨胀类碎片”错误。

有什么方法吗?

4 个答案:

答案 0 :(得分:75)

ActionBarActivity extends android.support.v4.app.FragmentActivity,因此ActionBarActivity可用于两种目的。

答案 1 :(得分:2)

您的代码来自SDK附带的the Action Bar compatibility example吗?如果是这样,只需更改该示例中的ActionBarActivity类以扩展FragmentActivity(从我假设的compatibility library而不是Activity。

答案 2 :(得分:0)

经验相同的问题和解决方案,如其他回复中所述,是编辑您的ActionBarActivity课程。

此类在您的代码(com.google.android.actionbarcompat)中定义。您唯一要做的就是从extends Activityextends FragmentActivity更改为android.support.v4.app.FragmentActivity

答案 3 :(得分:0)

您的碎片有菜单项吗?使用您自己的 app 命名空间而不是android用于app:showAsActionapp:actionLayout等。

要将您的命名空间添加到XML,请在menu标记

中使用此行
xmlns:app="http://schemas.android.com/apk/res-auto"

E.g。

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item android:id="@+id/menu_settings" app:showAsAction="ifRoom" android:title="@string/menu_settings" android:orderInCategory="100" />
</menu>

请注意app:showAsAction而不是android:showAsAction