我为我的库项目启用dataBinding后,立即收到构建错误:
AAPT:未指定资源类型(在“文本”中,值为“ @ {user.name}”)
如果我为应用程序模块启用了dataBinding,它将正常工作.
但是,如果我为我的lib项目启用dataBinding,则会收到上述错误.
应用程序模块的build.gradle
apply plugin: 'com.androID.application'androID { compileSdkVersion 23 buildToolsversion "23.0.2"dataBinding{ enabled true}defaultConfig { applicationID "xyz.databindingtrial" minSdkVersion 19 targetSdkVersion 23 versionCode 1 versionname "1.0"}buildTypes { release { MinifyEnabled false proguardfiles getDefaultProguardfile('proguard-androID.txt'), 'proguard-rules.pro' }}}dependencIEs { compile filetree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.androID.support:appcompat-v7:23.3.0' compile project(path: ':librarytrial')}
lib项目的build.gradle
apply plugin: 'com.androID.library'androID { compileSdkVersion 23 buildToolsversion "23.0.2"dataBinding{ enabled true}defaultConfig { minSdkVersion 19 targetSdkVersion 23 versionCode 1 versionname "1.0"}buildTypes { release { MinifyEnabled false proguardfiles getDefaultProguardfile('proguard-androID.txt'), 'proguard-rules.pro' }}}dependencIEs { compile filetree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.androID.support:appcompat-v7:23.3.0'}
布局文件:
<data > <variable name="user" type="xyz.databindingtrial.model.User"/></data><relativeLayout xmlns:tools="http://schemas.androID.com/tools" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:paddingBottom="@dimen/activity_vertical_margin" androID:paddingleft="@dimen/activity_horizontal_margin" androID:paddingRight="@dimen/activity_horizontal_margin" androID:paddingtop="@dimen/activity_vertical_margin" tools:context="xyz.databindingtrial.MainActivity"> <TextVIEw androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:text="@{user.name}"/></relativeLayout>
活动代码
@OverrIDeprotected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); UserTrackingBinding binding = DataBindingUtil.setContentVIEw(this, R.layout.activity_main); User user = new User("Test"); binding.setUser(user);
}
用户模型
public class User extends BaSEObservable { private final String name; public User(String name){ this.name = name; } @Bindable public String getname() { return name; }}
dataBinding是否不适用于库项目?如果可以,我的设置有什么问题?
谢谢
解决方法:
它确实适用于库项目,但是依赖于使用数据绑定的库的任何应用程序都必须启用数据绑定,即使他们不使用它.
总结以上是内存溢出为你收集整理的我为Android库项目启用dataBinding后立即生成错误全部内容,希望文章能够帮你解决我为Android库项目启用dataBinding后立即生成错误所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)