databinding

Android : Databinding, notifyPropertyChanged() not working?

匿名 (未验证) 提交于 2019-12-03 01:38:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I am using Android's data binding library. I have my data object extending BaseObservable . public static class SimpleData extends BaseObservable implements Serializable { private String text, subText; private SpannableString totalText; @Bindable public SpannableString getTotalText() { return totalText; } public void setTotalText(SpannableString totalText) { this.totalText = totalText; notifyPropertyChanged(BR.totalText); } } And my xml is binded as well <TextView android:id="@+id/patient_name" android:layout_width="wrap_content" android

Applying databinding adapter to include tag

匿名 (未验证) 提交于 2019-12-03 01:34:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I'm using databinding in my project and I have one for setting a visibility condition from the viewmodel: <View app:visibilityCondition="@{viewModel.showingItems}" /> This all works fine, but suddenly when I want to use it on an include tag like this: <include layout="@layout/my_include_layout app:visibilityCondition="@{viewModel.showingItems}" /> It doesn't build, with the following error: e: [kapt] An exception occurred: android.databinding.tool.util.LoggedErrorException: Found data binding errors. Cannot find the setter for attribute 'app

C# DataBinding - automatically writing changed property to label or textbox

匿名 (未验证) 提交于 2019-12-03 01:22:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I read some about DataBinding, mostly complicated things like SQL or whatever XAML and stuff. All I want my programm to do is, if the "value" of a variable changes just write it in a textbox or label. (using WindowsForms) So far what I have: namespace DataBinding_Test { public partial class Form1 : Form { BindingSource bs = new BindingSource(); Class1 test = new Class1(); public Form1() { InitializeComponent(); test.name = "Hello"; bs.DataSource = test; label1.DataBindings.Add(new Binding("Text", bs, "name", false, DataSourceUpdateMode

Cannot find symbol DataBindingComponent on Android Studio 3.2 Canary 16 Kotlin project

匿名 (未验证) 提交于 2019-12-03 01:10:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I just created a new project on Android Studio 3.2 Canary 16 with Kotlin enabled. Then I also enabled data binding, but I'm getting an error saying that it could not find the DataBindingComponent class. Here's my project gradle: // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { ext.kotlin_version = '1.2.41' ext.android_plugin_version = '3.2.0-alpha10' repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0-alpha16' classpath "org

【已解决】Android Studio使用Databinding引起的support-v4包库冲突问题 ZipException

匿名 (未验证) 提交于 2019-12-03 00:26:01
在使用了Databinding之后,AndroidStudio会自动将当前target api对应版本的support-v4包依赖添加进来(在本例中是21.0.3的版本),而原项目中使用的support-v4包是在lib下的一个jar包(在本例中是25.0.0版本),是高于当前api版本的。结果在项目编译时,两个v4包被一起编译进来了,就造成了库冲突的问题, 具体表现为编译时报ZipException的错误 。 解决方法: 第一种方法(不推荐): ①直接将原lib下的support-v4包移除。 【注意】这种方法就是让我们去使用Databinding添加进来的低版本support-v4包,而这样可能会导致原项目中的某些业务代码出错,因为其依赖了高版本的某些特性。 第二种方法(推荐): ①在gradle的dependencies中手动添加更高版本的support-v4包依赖,如: compile 'com.android.support:support-v4:25.0.0' ②将原lib下的support-v4包移除,如果不想删文件可以这么写: compile fileTree(include:['*.jar'], exclude:['android-support-v4.jar'], dir:'src/main/lib') 【原理】当我们手动添加更高版本的support

android:DataBinding使用小结

匿名 (未验证) 提交于 2019-12-03 00:21:02
引入DataBinding 在你的app下的build.gradle中添加对DataBinding的支持 android { ... //第一步:引入dataBinding dataBinding { enabled = true } } 更改你的xml布局,对dataBinding的支持 <?xml version="1.0" encoding="utf-8"?> <!-- 第二步:在布局中跟节点添加layout --> < layout xmlns:android = "http://schemas.android.com/apk/res/android" xmlns:tools = "http://schemas.android.com/tools" > < LinearLayout android:layout_width = "match_parent" android:layout_height = "match_parent" android:orientation = "vertical" tools:context = "tsou.cn.databinding.MainActivity" > < EditText android:layout_width = "match_parent" android:layout_height = "wrap_content"

Android中的MVVM架构设计-实用篇(一)

匿名 (未验证) 提交于 2019-12-03 00:21:02
不能说的秘密.jpg 引言 接到了一个新的android项目,之前也一直在用mvp在写东西,可是身边的朋友都已经在用mvvm在做东西了,如果现在自己还不用mvvm写的话,那真是太尴尬了,于是到网上找了些资料,大致是知道mvvm是怎么使用了。 网上的资料往往都是先将mvc mvp mvvm做一个对比之后再进行mvvm的讲解,我这里就不要那么麻烦了,他们三者之间的对比是面试的时候需要准备的,今天我就把实用技能贴出来,供大家参考吧,有意见的话希望大家留言,共同学习~~ 使用mvvm 1、让android项目启用dataBinding 我们使用mvvm,必然会用到android为我们提供的dataBinding支持包,这个支持包早在2015年,google就为我们提供了(又尴尬了是不是,赶紧用起来吧)。 好,只需要在我们正在编写的module中的build.gradle中添加这样的脚本就好了,看截图(注意,是添加到android {} 内部) 启用dataBinding 这样我们就能够使用了,记得构建一下。 2、修改布局文件 如果想使用databinding框架,需要按照mvvm的规矩来办,而mvvm的规矩就是,需要布局文件 按照 「固定的写法」 来编写。 「固定的写法」 02.jpg ok,这就是固定写法,那么与我们以前的写法的差异是 * 最外层用 < layout > 标签嵌套

DataBinding初步一

匿名 (未验证) 提交于 2019-12-02 23:41:02
要想使用DataBinding app.gradle 配置 android { ... dataBinding { enabled = true } } layout.xml 必须以layout作为根标签,并加入<data/>(如果没有数据绑定的话) <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto"> <data/> . . . </layout> 使用androidX 在gradle.properties 配置 android.useAndroidX=true android.enableJetifier=true AndroidX 对原始 Android 支持库进行了重大改进。与支持库一样,AndroidX 与 Android 操作系统分开提供,并与各个 Android 版本向后兼容。AndroidX 完全取代了支持库,不仅提供同等的功能,而且提供了新的库

Android开发databinding和RecyclerView.ViewHolder的完美结合

夙愿已清 提交于 2019-11-27 02:33:05
通用ViewHolder代码如下,就一个ViewHolder。。。从此不在是每个RecyclerView的Adapter编写一个ViewHolder了 class ViewHolder<T : ViewDataBinding>(itemView: View) : RecyclerView.ViewHolder(itemView) { val binding = DataBindingUtil.bind<T>(itemView)!!}gradle文件开启databinding android { dataBinding{ enabled true }}布局文件根元素以<layout></layout>开头 <?xml version="1.0" encoding="utf-8"?><layout xmlns:android="http://schemas.android.com/apk/res/android"> <data> </data> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> </LinearLayout></layout>adapter里的使用  控件的引用holder

DataBinding?资料绑定?

蓝咒 提交于 2019-11-26 23:10:43
DataBinding?资料系结?资料绑定? http://www.dotblogs.com.tw/mis2000lab/archive/2008/09/16/5387.aspx 如果要我举出一个特别的例子,跟大家说明 ASP.NET与ASP的差异在哪里? 我一定会讲「 DataBinding 」。 正体中文称为「数据系结」,有点饶舌拗口。 中国大陆称为「资料绑定」,音义都类似。 以前的 ASP/PHP/JSP如果想把数据表的 id字段 与 title字段,透过 HTML窗体的下拉式选单(<select>标签)来呈现。 一定要写一小段程序才行,而且要自己动手处理,把程序代码跟<Select>标签混在一起,加上一个循环.....Bala Bala..... 烦死了!烦! 以前的 ASP 写法,真是太超过~ 而 ASP.NET就很简单,几个步骤就能完成。 ASP.NET 2.0以后,因为 SqlDataSource这个精灵控件太好用, 所以完成后,初学者还是不知道哪里作了 DataBinding?...... 很可惜啊!只会操作,却不懂原理了! 相形之下,我就怀念起 ASP.NET 1.x版的时候, 自己稍微写点程序,但却清楚一些细节的变化。 简单地说,我们从数据库取得(捞出)数据后, 把这些数据( DataReader 或 DataSet 都可以),跟一个特殊的控件,作