Articles of 数据绑定

Android dataBinding – 忽略@BindingAdapter自定义应用程序命名空间

我已经在android中创建了一个自定义bindingAdapter,当我传递颜色时,我想要改变颜色,这实际上是为了测试我正在努力确保它的工作原理。 这是代码:这是我的视图数据绑定的模型: public class User { public ObservableInt visible; public User(int visible) { this.visible=new ObservableInt(visible); } @BindingAdapter({“app:bindColor”}) //notice the bindColor custom attribute public static void setTextColor(TextView view,String color) { if(“green”.equals(color)) view.setTextColor(Color.parseColor(“#63f421”)); } } 现在在我的xml文件中绑定到此模型,我希望传递一种颜色,以便setTextColor方法可以使用它: 我在运行时收到错误: Error:(27, 65) error: package com.example.android.floatingactionbuttonbasic.databinding does not exist Warning:Application namespace for attribute app:bindColor will be ignored. Error:(24, 33) Identifiers must […]

“错误:无法生成视图绑定器java.lang.NullPointerException”的可能原因

我正在为我的Android项目使用Android Studio。 当构建崩溃与奇怪的堆栈跟踪时,我遇到了一个问题,如下所示: Error:Execution failed for task ‘:app:compileDevDebugJavaWithJavac’. java.lang.RuntimeException: failure, see logs for details. cannot generate view binders java.lang.NullPointerException at android.databinding.tool.reflection.ModelMethod.isBoxingConversion(ModelMethod.java:155) at android.databinding.tool.store.SetterStore.isBetterParameter(SetterStore.java:946) at android.databinding.tool.store.SetterStore.getBestSetter(SetterStore.java:838) 并且似乎数据绑定整体被破坏了。 我之前做了重构,并在包之间移动了类。

错误:(3,0)原因:org / apache / commons / lang3 / StringUtils

我收到以下错误 错误:(3,0)原因:org / apache / commons / lang3 / StringUtils 当我尝试在我的Android项目中添加数据绑定时。 我的依赖包括: // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies { classpath ‘com.android.tools.build:gradle:2.0.0-alpha7’ classpath ‘me.tatarka:gradle-retrolambda:3.2.2’ classpath ‘com.android.databinding:dataBinder:1.0-rc1’ // NOTE: Do not place your application dependencies here; they belong // in the individual […]

Android gradle-experimental与数据绑定无法正常工作?

当我尝试使用最新的Android构建工具(gradle-experimental:0.6.0-alpha3)和数据绑定框架时,​​我遇到了一些麻烦。 当我尝试刷新所有gradle项目时,它会导致错误。 第一 : Error:Exception thrown while executing model rule: BaseComponentModelPlugin.Rules#createBinaryTasks > create(dataBindingExportBuildInfoAllDebug) model { … android.dataBinding { enabled = true } … } 第二 : Error:Cause: com.android.build.gradle.managed.AndroidConfig$Impl model { android { … dataBinding { enabled = true } } … }

Android数据绑定无法使用View’android:tag’属性

试图在我的项目中使用新的Android数据绑定,但是在尝试将’android:tag’属性设置为某个自定义variables时出现错误。 我的menu_item.xml文件: 我的MenuItem类: public class MenuItem { public final ItemType itemType; public MenuItem(ItemType itemType) { this.itemType = itemType; } } MenyItemBinding.java的一部分: public MenuItemBinding(View root) { super(root, 0); final Object[] bindings = mapBindings(root, 3, sIncludes, sViewsWithIds); this.displayName = (android.widget.TextView) bindings[2]; this.displayName.setTag(null); this.icon = (android.widget.ImageView) bindings[1]; this.icon.setTag(null); this.mboundView0 = (android.widget.LinearLayout) bindings[0]; this.mboundView0.setTag(root.getResources().getString(com.myApp.R.string.@{menuItem})); setRootTag(root); invalidateAll(); } 当尝试设置绑定视图的Tag时,错误在生成的类中。 任何想法如何解决这个问题? […]

ClassNotFoundException:没有find类“android.databinding.DataBinderMapper”

我正在使用android的数据绑定库来查看库项目中的视图 我在我的根gradle文件中添加了以下行 classpath ‘com.android.databinding:dataBinder:1.0-rc1’ 并在模块的gradle文件中启用了dataBinding,如下所示 apply plugin: ‘com.android.databinding’ … … android { …. dataBinding { enabled = true } } 我已经在我的库项目中以及使用此库的主机应用程序中启用了multiDex但是在启动库的活动时我得到了这个堆栈错误跟踪 java.lang.NoClassDefFoundError: Failed resolution of: Landroid/databinding/DataBinderMapper; at android.databinding.DataBindingUtil.(DataBindingUtil.java:31) at sdk.ui.activities.MyActivity.onCreate(MyActivity.java:76) at android.app.Activity.performCreate(Activity.java:6280) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1116) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2534) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2647) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1502) at android.os.Handler.dispatchMessage(Handler.java:111) at android.os.Looper.loop(Looper.java:207) at android.app.ActivityThread.main(ActivityThread.java:5763) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:749) […]

如何使用MvvmCross流畅的API将RecyclerView项目的TextView绑定到Android上ViewModel的属性?

我在我的Xamarin Android项目中使用MvvmCross 。 我有一个MvxActivity与MvxRecyclerView ,我已在其布局文件中分配了一个项目模板。 ViewModel非常简单,它只包含一个属性,用于保存要在RecyclerView显示的数据: public class MainViewModel : MvxViewModel { private IEnumerable _viewModelItems; public IEnumerable ViewModelItems { get { return _viewModelItems; } set { SetProperty(ref _viewModelItems, value); } } } 通常,我喜欢尽可能多地使用MvvmCross流畅的API,因为隐式重构支持。 所以在我的活动中,我绑定了MvxRecyclerView的属性,如下所示: var recyclerView = View.FindViewById(Resource.Id.my_recycler_view); var set = this.CreateBindingSet(); set.Bind(recyclerView) .For(v => v.ItemsSource) .To(vm => vm.ViewModelItems); set.Apply(); 到现在为止还挺好。 现在,项目模板的布局文件基本上只包含一个TextView : 我的ViewModelItem类看起来像这样: public […]

如何使用Android Databinding获取包含的视图?

我正在玩Android数据绑定库 ,我试图将它与包含的布局一起使用。 我的代码是这样的: activity_main.xml中 view.xml用 MainActivity.java public MainActivity extends AppCompatActivity{ private ActivityMainBinding mBinding; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mBinding = DataBindingUtil.setContentView(this, R.layout.activity_main); LinearLayout layout = mBinding.linearLayout; // this field is visible View myView = mBinding.myView // THIS FIELD IS NOT VISIBLE } } 正如我在评论中所写的那样,在“包含”布局中声明的视图myView是不可见的。 如果我用view.xml中的实际代码替换,那么mBinding.myView变得可见,原因似乎是包含然后。 官方文件仅说明了这一点 “数据绑定不支持include作为合并元素的直接子节点。” 但在我看来,View是LinearLayout的孩子,它不是直接的孩子.. 任何提示?

Android Studio 3.0数据绑定参考代码不是由android studio生成的

我遇到了Android Studio 3.0以及kotlin和数据绑定的组合问题。 我不知道为什么,但选项设置 – >编辑器 – >数据绑定 – > android studio生成的参考代码不能正常工作。 我在不同的AS 3.0版本(Canary 3,Canary 5,Canary 6)上尝试了不同的kotlin(1.1.2-3,1.1.3,1.1.3-2)和数据绑定编译器ver。 为了确保我甚至创建了干净的项目,也会出现同样的问题。 我确信问题在于kotlin和数据绑定组合,因为在同一个项目中,java类中的数据绑定工作得很好,数据绑定生成的文件会随着.xml文件中的每次更改而更新。 我不会在这里粘贴我的每个gradle内容文件,因为我已经尝试了很多kotlin和数据绑定的组合版本。 以下是其中之一。 apply plugin: ‘com.android.application’ apply plugin: ‘kotlin-android’ apply plugin: ‘kotlin-kapt’ android { compileSdkVersion 25 buildToolsVersion “25.0.2” defaultConfig { applicationId “com.dawidj.myapplication” minSdkVersion 21 targetSdkVersion 26 versionCode 1 versionName “1.0” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” } buildTypes { release { […]

数据绑定重定向到xml在android studio 3.1.2中不起作用

我已经将android studio更新到最新版本(3.1.2),现在当我用ctrl点击BindingClass时,它没有打开它在以前版本中工作的xml文件。 我在同一个版本的android studio中创建新项目也尝试了同样的事情,但它正在努力。 所以我在想我添加了一些错误的依赖项,或者我做错了什么。 所以请指导我这个问题。 这是build.gradle buildscript { repositories { maven { url ‘https://maven.fabric.io/public’ } } dependencies { classpath ‘io.fabric.tools:gradle:1.+’ } } apply plugin: ‘com.android.application’ apply plugin: ‘com.google.firebase.firebase-perf’ apply plugin: ‘realm-android’ apply plugin: ‘io.fabric’ android { compileSdkVersion 27 defaultConfig { applicationId = “xxx.xxx.xxx” minSdkVersion 18 targetSdkVersion 27 versionCode 9 versionName “1.0.8” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” multiDexEnabled […]