Questions tagged «android-databinding»

数据绑定库可编写声明性布局,并最小化绑定应用程序逻辑和布局所需的粘合代码。数据绑定库既具有灵活性又具有广泛的兼容性-它是一个支持库,因此您可以将其与所有Android平台(Android 2.1以上版本)(API级别7+)一起使用。

13
如何在Fragment中使用数据绑定
我正在尝试遵循Google官方文档中的数据绑定示例 https://developer.android.com/tools/data-binding/guide.html中的 除了我试图将数据出价应用于片段,而不是活动。 我目前在编译时遇到的错误是 Error:(37, 27) No resource type specified (at 'text' with value '@{marsdata.martianSols}. onCreate 片段看起来像这样: @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); MartianDataBinding binding = MartianDataBinding.inflate(getActivity().getLayoutInflater()); binding.setMarsdata(this); } onCreateView 片段看起来像这样: @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { return inflater.inflate(R.layout.martian_data, container, false); …

16
Kotlin-android:未解决的参考数据绑定
我有以下使用新的数据绑定库用Java编写的片段类 import com.example.app.databinding.FragmentDataBdinding; public class DataFragment extends Fragment { @Nullable private FragmentDataBinding mBinding; @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_data, container, false); return mBinding.getRoot(); } } 它可以编译并运行良好。 我试图用Kotlin重写它,并提出了以下内容: import com.example.app.databinding.FragmentDataBdinding class ProfileFragment : Fragment() { private var mBinding: FragmentDataBinding? = null override …

4
使用“ &&”逻辑运算符的android数据绑定
我正在尝试使用Android数据绑定在xml中使用and“ &&”运算符, android:visibility="@{(bean.currentSpaceId == bean.selectedSpaceId **&&** bean.currentSpaceId > 0)? View.VISIBLE: View.GONE}" 但是我得到了编译错误: 错误:任务':app:dataBindingProcessLayoutsDevDebug'的执行失败。org.xml.sax.SAXParseException; systemId:文件:/Users/path/app/build/intermediates/res/merged/dev/debug/layout/fragment_space.xml;lineNumber:106;columnNumber:89;实体名称必须紧随实体引用中的“&”之后。 和红色突出显示Android Studio中的错误“未转义和/或未终止的字符”。 那么我该如何解决呢? 编辑: 找到答案,这些字符需要转义: '&' --> '&' '<' --> '<' '>' --> '>'

8
如何使用数据绑定将资源中的字符串与XML中的动态变量组合在一起?
我有一个TextView,它具有一个硬编码的字符串,并且有一个动态变量,我想将其放在该字符串的末尾。这是我的代码: <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_marginLeft="16dp" android:layout_marginRight="16dp"> <TextView android:id="@+id/PeopleName" android:layout_width="match_parent" android:layout_height="match_parent" android:text="@string/Generic_Text"+"@{ Profile.name }" /> </LinearLayout> 我有一个问题 android:text="@string/Generic_Text"+"@{ Profile.name }"。该Generic_Text州“我的名字是”,则Profile.name是动态的,显然从个人资料的更改配置文件。我想要它,以便整个TextView输出为My Name为{Profile.name}。任何帮助都会很棒。

5
使用include标签的Android数据绑定
更新说明: 上面的示例正常工作,因为版本1.0-rc4 解决了需要不必要的变量的问题。 原始问题: 我完全按照文档中的描述进行操作,但不起作用: main.xml: <layout xmlns:andr... <data> </data> <include layout="@layout/buttons"></include> .... button.xml: <layout xmlns:andr...> <data> </data> <Button android:id="@+id/button" ...." /> MyActivity.java: ... binding = DataBindingUtil.inflate... binding.button; ->cannot resolve symbol 'button' 如何获得按钮?

3
使用数据绑定设置视图可见性
尝试设置View使用自定义变量的可见性,但发生错误:Identifiers must have user defined types from the XML file. visible is missing it。是否可以使用数据绑定设置视图可见性?谢谢。 <data> <variable name="sale" type="java.lang.Boolean"/> </data> <FrameLayout android:visibility="@{sale ? visible : gone}"/>

4
如何在Android Studio 3.0.0中使用数据绑定和Kotlin
我刚刚开始使用Android Studio 3.0.0,但是每次尝试构建项目时,都会出现此错误: Error:Circular dependency between the following tasks: :app:compileDebugKotlin +--- :app:dataBindingExportBuildInfoDebug | \--- :app:compileDebugKotlin (*) \--- :app:kaptDebugKotlin \--- :app:dataBindingExportBuildInfoDebug (*) (*) - details omitted (listed previously) 我在用 kapt "com.android.databinding:compiler:2.2.0" 在我使用之前 androidProcessor "com.android.databinding:compiler:2.2.0" 而且工作正常……我做错了什么? 谢谢!

29
数据绑定类未生成
我使用的数据在我的项目绑定,使用时<layout>和<data>在我的XML绑定类不产生。 例如我有activity_main.xml <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android"> <data> </data> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> </RelativeLayout> </layout> 现在,如果我ActivityMainBinding在活动/片段中书写,则会显示错误,表明该类不可用。但是在将其包含<variable>在我的xml文件中之后,它能够生成ActivityMainBinding类。 Android Studio:2.1.3 类路径:com.android.tools.build : gradle : 2.1.3 minSdkVersion 16 targetSdkVersion 24 buildToolsVersion 24.0.0

15
使用Android中的数据绑定在android:src中为ImageView设置可绘制资源ID
我正在尝试使用数据绑定将可绘制资源ID设置为ImageView的android:src 这是我的对象: public class Recipe implements Parcelable { public final int imageResource; // resource ID (e.g. R.drawable.some_image) public final String title; // ... public Recipe(int imageResource, String title /* ... */) { this.imageResource = imageResource; this.title = title; } // ... } 这是我的布局: <?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> …

9
我想在Android中为DataView合并两个字符串,数据绑定Api
我正在使用DataBindingApi在android布局中设置视图。这是我的布局。 layout.xml <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android"> <data> <variable name="user" type="testing.sampleapp.com.sampleapp.User"/> </data> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@{ "Hello " + user.firstName}"/> </LinearLayout> 我希望TextView显示Hello UserName。如何使用数据绑定API实现此目标。

30
在Android Studio 3.2 Canary 16 Kotlin项目上找不到符号DataBindingComponent
我刚刚在启用了Kotlin的Android Studio 3.2 Canary 16上创建了一个新项目。然后,我还启用了数据绑定,但是我收到一条错误消息,提示它找不到DataBindingComponent类。 这是我的项目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.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong …

3
android数据绑定的优缺点是什么?
我和我的同事都拥有Web App MVVM的经验,而我们还是原生android开发的新手。现在我们对android数据绑定有相反的看法-我是他的粉丝,而他不是。 我的论点: 减少样板代码,从而带来 减少耦合 可读性更强 功能强大,易于实现的自定义属性和自定义视图 甚至比findViewById更快(详细信息) 他的论点: 自动生成的.class会增加应用大小。 难以调试 我进行了一些调查,但没有太多讨论。现在,我想收集android数据绑定的优缺点。 讨论的方面包括但不限于: 单元测试 应用程式大小 性能 学习曲线 可读性 耦合

2
启用safe-args插件后无法从数据绑定获取根视图
我正在使用dataBinding开发一个Android应用程序,当前正在尝试添加safe-args插件,但是启用该插件后,我无法再通过binding.root获取根视图-Android Studio给出错误: Unresolved Reference None of the following candidates is applicable because of a receiver type mismatch: * internal val File.root: File defined in kotlin.io 如何获得数据绑定和safe-arg一起玩的好习惯? 请注意,当代码片段位于Kotlin中时,我将很高兴获得Java答案。不太熟悉Java,但是我可以轻松阅读和翻译它。 我无法通过谷歌搜索错误消息和“安全参数”来找到其他遇到相同问题的人。我首先尝试使用以下Android文档中列出的类路径:https : //developer.android.com/guide/navigation/navigation-pass-data classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.1.0" 然后还找到了一个建议我使用的教程: classpath "android.arch.navigation:navigation-safe-args-gradle-plugin:1.0.0-alpha07" 两者都有相同的问题:binding.root在激活插件时出现错误 这是我的片段的onCreateView()。当未启用safe-args时,该返回行正常工作,而在启用后则不起作用 override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { binding …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.