我正在使用包含自定义视图类的外部库(jar)。我必须使用它来测试项目。一个是工作,一个不工作。
非工作日期在Eclipse中引用自定义视图的行中出现以下错误:
error: No resource identifier found for attribute 'bar' in package 'com.example.testapp'
作为参考,布局如下(简化):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:foolib="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<com.example.customviewlib.MyBarImageView
android:id="@+id/imageView1"
android:layout_width="100dp"
android:layout_height="100dp"
foolib:bar="test.bar" />
</LinearLayout>
两个项目之间的唯一区别似乎是工作项目在“gen”下有一个名为“com.example.customviewlib”的包(带有R.java)。 IE浏览器。匹配库包名称。
我是否正确地假设它是库的缺少的gen包,这是自定义视图在我的第二个项目中不起作用的原因?
如果是这样,我如何强制在我的其他项目中生成包?
我尝试了各种建议,例如清理项目和重新启动Eclipse。
答案 0 :(得分:1)
好。发现了这个问题。您目前无法(至少从ADT 22开始)直接从外部jar使用自定义视图类。你必须制作一个Android库项目并引用它。
这与ActionBarSherlock必须是一个库项目的原因基本相同。您需要访问jar中不存在的资源(在我的例子中为res / values / attrs.xml等)。
答案 1 :(得分:0)
只是猜测,但您可能会通过非工作项目中的构建路径添加jar,自上次sdk版本以来,该程序已被弃用。
如果您只是复制libs
文件夹中的jar,它应该可以正常工作。