Articles of 数据绑定

在android数据绑定包含布局中'找不到符号variables'

layout_content.xml <layout> <android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" /> </android.support.design.widget.AppBarLayout> </layout> layout_main.xml <layout> <android.support.v4.widget.DrawerLayout android:id="@+id/dl_main_drawer" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true"> <include layout="@layout/layout_content" android:id="@+id/content"/> </android.support.v4.widget.DrawerLayout> </layout> MainActivity.java LayoutMainBinding binding = DataBindingUtil.setContentView(this,R.layout.layout_main); setSupportActionBar(binding.content.toolbar); Android Studio intellisense check binding.content是ViewDataBinding obj 但build立错误'找不到符号variables内容'这会有什么问题吗? 谢谢!

如何使用ToggleButton执行双向数据绑定?

我的活动类中有一个ObservableBoolean字段,它绑定到我的ToggleButton的“checked”属性,如下所示: android:checked="@{activity.editing}" 我希望这会创buildbutton和布尔之间的双向关系,但它只是从字段到button的变化,而不是其他方式。 我在做什么错误,或者这是不是在Android数据DataBinding的范围?

Android数据绑定xml重复属性

我最近开始开发一个使用数据绑定的android应用程序。 我现在的问题是,我无法运行的应用程序,因为这个错误: Error:(10) Error parsing XML: duplicate attribute 在使用数据绑定的每个文件中发生错误(我正在使用片段)。 我现在search了3个小时,找不到解决scheme。 的build.gradle: apply plugin: 'com.android.application' android { dexOptions { preDexLibraries = false javaMaxHeapSize "2g" } compileSdkVersion 23 buildToolsVersion "23.0.3" defaultConfig { applicationId "at.blacktasty.schooltoolmobile" minSdkVersion 15 targetSdkVersion 23 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } dataBinding […]

数据绑定:当对象的属性是int时,资源$ NotFoundException

我正在尝试使用数据绑定。 如果我使用具有string属性的对象,这是正常工作,但在这种情况下,我使用int,它不起作用。 我有对象用户: public class User extends BaseObservable{ public int age; …… public User() {} public int getAge() { return age; } public void setAge(int age) { this.age = age; } … } 这是我的布局 <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android"> <data> <variable name="user" type="com.example.bindingview.User"/> </data> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@{user.age}"/> </LinearLayout> </layout> 问题是,TextView不能有年龄是int的文本。 […]

DataBinding是否会干扰本地化活动?

TL; DR 我有一个支持多种语言的应用程序。 尽pipe使用了所有常用的本地化方法,但仍有一项活动未被翻译。 这是应用程序中唯一充分利用DataBinding Activity。 完整的解释 我有一个使用DataBinding的Activity 。 所以基本上,该活动的整个XML布局被封装在<layout>标签中。 这是我膨胀的观点,并获得约束力: SomeActivityBinding binding = DataBindingUtil.setContentView(this, R.layout.some_activity); 在XML有许多TextViews以这种方式设置文本: … android:text="@string/<name of a string>" … 我们为用户提供预定义的语言选项并设置应用程序的语言环境 Locale.setDefault(new Locale("<language name>")); 在英语区域,一切正常。 当应用程序处于不同的区域设置思路时,所讨论的活动中的string仍然以英语显示 – 即使这些string已被翻译成适当的语言,并且位于应用程序其余部分抓取的相同string文件中string从。 在该活动开始之前,应用程序没问题 – 活动开始后我退出,应用程序恢复为英语区域设置,直到它被杀死并重新启动。 如果该活动从未打开过,则应用程序按预期运行。 有没有人有任何想法可能造成这种情况? 谢谢。

Android数据绑定的string比较

我想与android的XML数据绑定进行string比较,但我没有正确的结果。 在代码中评估我的expression,我尝试notice.action == "continue" ,这是错误的。 而在数据绑定中,这当然也是错误的。 android:textColor='@{ notice.action == "continue" ? @color/enabledPurple : @color/disabledGray}' 它只有当我通过代码notice.action.equals("continue")真。 这是预期的行为。 我的问题是,我不能用数据绑定expression式来实现这一点,因为它不会运行像equals这样的方法。 我可以做什么来取代比较expression与另一个工作? 我正在使用这个指南 。 编辑:我错了,方法是允许在XML中。 是这样做的: android:textColor='@{ notice.action.equals("continue") ? @color/enabledPurple : @color/disabledGray}'

如何在android中创build自定义数据绑定? (android studio)

我想实现自定义函数从ImageView下载像这样的app:imageUrl="@{status.imageUrl}"图像app:imageUrl="@{status.imageUrl}"在下面的代码: <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <data> <variable name="status" type="com.databinding.data.Status" /> </data> <RelativeLayout android:id="@+id/status_container" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:id="@+id/status_avatar" android:layout_width="64dp" android:layout_height="64dp" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentTop="true" android:contentDescription="@null" app:imageUrl="@{status.imageUrl}"/> </RelativeLayout> </layout> 如何编写这个可以从@{status.imageUrl}下载图像自动化的函数? 使用这个库com.android.databinding 。

数据绑定:用多种方法绑定来自监听器的单一方法

Android UI工具包团队的Yigit Boyar和George Mount成员就数据绑定进行了一次演讲 。 在13:41的video中,乔治·芒说道 你也可以做一些奇怪的侦听器,比如onTextChanged。 TextWatcher有三种方法,但是大家只关心onTextChanged,对不对? 你可以实际访问其中的一个,如果你想,或所有的人。 “ <Button android:onTextChanged="@{handlers.textChanged}" …/> 他似乎在说,而不是使用像这样的通常的addTextChangedListener方法 editText.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {} @Override public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { //Do something } @Override public void afterTextChanged(Editable editable) {} }); 我们可以简单地这样做 <EditText android:onTextChanged="@{handlers::onTextChanged}" android:layout_width="match_parent" […]

Android Databinding Library中的任何重大错误或问题?

谁能使用android数据绑定库(com.android.databinding:dataBinder)评论这个testing版库? 在android开发人员网站上说:“它可能包含错误,并且可能不适用于您的用例,因此使用它需要您自担风险。”,是否有任何问题或重大错误或错误?

Android DataBinding错误。 找不到存取器

当我尝试运行我的应用程序时出现以下错误: Error:Execution failed for task ':app:compileDevelopmentDebugJavaWithJavac'. > java.lang.RuntimeException: Found data binding errors. ****/ data binding error ****msg:Could not find accessor java.lang.String.giftRecipientName redacted.xml loc:182:63 – 182:93 ****\ data binding error **** 我有一个Order对象,如下所示: public class Order { public Address address; // unrelated fields and methods } 嵌套的地址对象如下所示: public class Address { public String addressLine1; public String addressLine2; […]