安卓 - <include layout=.../> 返回错误

4

我有一个库项目,其中我在布局文件action_bar.xml中定义了一个操作栏,像这样:

   <?xml version="1.0" encoding="utf-8"?>
   <merge xmlns:android="http://schemas.android.com/apk/res/android">
       <LinearLayout style="@style/actionBar" />
    </merge>

相应的样式元素是这个:
<style name="actionBar">
    <item name="android:id">@id/action_bar_container</item>
    <item name="android:layout_width">fill_parent</item>
    <item name="android:layout_height">@dimen/title_height</item>
    <item name="android:orientation">horizontal</item>
    <item name="android:background">@drawable/action_bar_background</item>
</style>

当我尝试在其他布局文件 dashboard_activity_layout.xml 中包含操作栏时,如下所示:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    style="@style/CustomTheme"
    android:id="@+id/activity_dashboard_root_container" 
    android:orientation="vertical"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent">

    <include layout="@layout/action_bar"/>

    <LinearLayout android:orientation="vertical"
            android:id="@+id/fragment_container"
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"
        android:layout_weight="1" 
        android:padding="6dip">
    </LinearLayout>

</LinearLayout>

它一直报错:

您必须指定有效的布局引用。布局ID @layout/action_bar 无效。 异常详细信息记录在Window > Show View > Error Log中

我认为这是一个非常简单的问题,我可能遗漏了细节。任何帮助都会受到赞赏。我从Google I/O代码进行了改编。这与Library Project有关吗?

4个回答

2

这似乎是一个已记录的ADT错误,此处此处都有记录,并且在ADT R16中仍然存在。


2
尽管Eclipse给了我这个错误,但我仍能运行使用库项目的应用程序,并且看到的行为是预期的。我认为这与Eclipse有关。

0
@Promod,你在Action_bar.xml中打开了一个线性布局,但是你没有在线性布局中添加任何项。
  1. 线性布局需要最少的参数,如layout_width、layout_height。尝试添加它们。

这些参数来自样式元素。 - 500865

0

使用-clean选项启动Eclipse,您的问题就会得到解决。不过启动时间会比平时多大约30秒。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接