问题标签 [android-binding-adapter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android Xamarin AAR Binding 封装类型
我有一个.aar
想在 Xamarin Android 中使用的第三方库。所以我创建了一个新的Android Bindings Library
,添加了aar
-library 并将文件更改为Build action
如下所述:https ://docs.microsoft.com/en-us/xamarin/android/platform/binding-java-library/binding-an -aaraar
LibraryProjectZip
没有其他任何改变,我希望该项目能够编译并生成一个dll
文件。相反,我得到很多错误说Error CS0542 'xy': member names cannot be the same as their enclosing type
。当我跳转到错误的根源时,我在 Visual Studio 生成的代码中发现错误,类看起来像:
我无法修改库的源代码。我该怎么做才能Binding Library
成功构建?
android - 带有列表的 BindingAdapter
我想使用带List
参数的 BindingAdapter,但是当我尝试编译它时,它会抛出这个错误,
找不到接受参数类型“java.util.List<Alert>”的 <androidx.cardview.widget.CardView app:setVisiblityByList> 的设置器
我的方法:
}
我的 XML:
我也尝试过fun setVisiblityByList(view: View, l: List<Alert>?)
同样的结果。这似乎是Java的类型擦除引起的问题。有什么办法可以让它工作吗?
android - 强制数据绑定以获取所有中间媒体 livedata / mediatorlivedata 更改
我的问题是我的数据绑定值仅从我的 MediatorLiveData 获取最新更新passwortStatus
并跳过所有中间值。这会导致奇怪的视图问题,因为并非所有视图都正确更新。
这是一个例子:
当我在编辑文本中键入内容时,我passwordCalculator
会执行并查看是否满足某些特定条件。例如,当我写“1Ab”(数字、BigLetter、SmallLetter)时,passwordStatus livedata
值输出:PasswordStatus.HasDigit、PasswordStatus.HasLowerCase、PasswordStatus.HasUpperCase。
现在的问题是:passwordStatus
在我的片段中观察这个给了我所有上述值(PasswordStatus.HasDigit、PasswordStatus.HasLowerCase、PasswordStatus.HasUpperCase),我只在我的数据绑定变量中得到 PasswortStatus.HasUpperCase。
片段观察
布局内的数据绑定观察
数据绑定状态调试
密码计算器
所以我的最后一个问题是:如何强制数据绑定获取所有中间值(例如 PasswordStatus.HasDigit、PasswordStatus.HasLowerCase、PasswordStatus.HasUpperCase),而不仅仅是最新值(PasswordStatus.HasUpperCase)?
android - 如何使用自定义的onClick进行数据绑定
我正在使用数据绑定并且无法解决多个快速单击问题。我不想在每次点击中都添加一个逻辑,我想创建一个解决方案并期望它在我的整个项目中都能正常工作。
我在这里找到了一种解决方案。该页面的代码片段如下:
并使用扩展功能:
最后,对于任何视图,我们都可以简单地调用:
这太棒了。但它仅适用于我将 setOnClickListener 调用到视图但我正在使用数据绑定的情况。我在哪里使用这样的东西:
我知道如果我可以创建一个绑定适配器,我就能解决这个问题。但是,我无法制作一个有效的。我应该在这里放什么代码:
这样我就可以在我的xml(数据绑定)中使用:
我怎样才能做到这一点?请帮忙。谢谢
android - Android BindingAdapter for AutoCompleTextView“找不到事件”问题
我使用Material Guide来设置我AutoCompleTextView
的 ,当我在其上实现双向数据绑定时遇到了一个问题(单向工作正常)。
我得到了这个构建错误:Could not find event 'android:selectedItemPositionAttrChanged' on View type 'android.widget.AutoCompleteTextView'
我在这里参考了事件名称,该属性android:selectedItemPositon
确实显示在 XML 编辑器上,但仍然构建失败。
PS:我想用POSITION而不是TEXT绑定。
android - “DataBinding”如何检查 xml 中按钮的 onClick 是否为 editText isEmpty 和 setError
我正在尝试实现课程 ViewModel 和数据绑定,在下面的 xml 中,我想使用TextUtils.isEmpty()
方法来检查 editText 是否为空然后设置错误,当我搜索这个时我发现这个问题我在标签中添加了 importing TextUtils,但是我仍然无法从按钮onClick调用 editText "name_text"来检查它并设置错误
activity_main.xml
编辑:
我像这样编辑了onClick attr,xml中没有错误但我无法将消息传递给setError("Cannot be empty")
方法
android-databinding - 在 ViewPager2 之前附加的 TabLayoutMediator 有一个适配器
java.lang.RuntimeException:无法启动活动 ComponentInfo{com.amco.scanai/com.amco.scanai.activities.profile.ProfileActivity}:java.lang.IllegalStateException:TabLayoutMediator 在 ViewPager2 在 android.app.ActivityThread 有适配器之前附加android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 上 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3257) 上 android.app.servertransaction.TransactionExecutor 上的 .performLaunchActivity(ActivityThread.java:3114)。 executeCallbacks(TransactionExecutor.java:108) 在 android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1948) 在 android.os.Handler.dispatchMessage (Handler.java:106) 在 android.app 的 android.os.Looper.loop(Looper.java:214)。ActivityThread.main(ActivityThread.java:7050) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494) 在 com.android 的 java.lang.reflect.Method.invoke(Native Method)。 internal.os.ZygoteInit.main(ZygoteInit.java:965) 原因:java.lang.IllegalStateException: TabLayoutMediator 在 ViewPager2 之前附加在 com.google.android.material.tabs.TabLayoutMediator.attach(TabLayoutMediator.java:117 ) 在 com.amco.scanai.utilities.BindingAdapters.setPager2(BindingAdapters.java:163) 在 com.amco.scanai.databinding.ActivityProfileBindingImpl.executeBindings(ActivityProfileBindingImpl.java:207) 在 androidx.databinding.ViewDataBinding.executeBindingsInternal(ViewDataBinding. java:473) 在 com.amco.scanai.mvvm.base.BaseActivity 的 androidx.databinding.ViewDataBinding.executePendingBindings(ViewDataBinding.java:445)。performDataBinding(BaseActivity.java:105) 在 com.amco.scanai.mvvm.base.BaseActivity.onCreate(BaseActivity.java:60) 在 com.amco.scanai.activities.profile.ProfileActivity.onCreate(ProfileActivity.java:25)在 android.app.Activity.performCreate(Activity.java:7327) 在 android.app.Activity.performCreate(Activity.java:7318) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271) 在 android.app。 ActivityThread.performLaunchActivity(ActivityThread.java:3094) 在 android.app.servertransaction.TransactionExecutor 在 android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3257) .executeCallbacks(TransactionExecutor.java:108) 在 android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) 在 android.app。ActivityThread$H.handleMessage(ActivityThread.java:1948) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main (ActivityThread.java:7050)
我将 ViewPager2 与 Tab 布局一起使用,通过使用绑定适配器我试图将适配器绑定到 ViewPager,然后将 ViewPager 绑定到 Tab 布局。但它不断给出上述错误。以下是代码。
Profile_Activity.xml
ProfileViewModel.java
BindingAdapters.java
android - Android数据绑定找不到接受参数类型*的*的setter
我试图在数据绑定布局中声明一个变量,它的类型是整数数组,但是在构建项目时出现错误
找不到接受参数类型“int[]”的 <android.widget.LinearLayout app:availableGradesIndexes> 的设置器
如果绑定适配器提供了设置器,请检查适配器是否正确注释以及参数类型是否匹配。
xml中的变量声明
绑定适配器
用法
我还试过什么
试图将绑定适配器方法的类型声明为IntArray
喜欢fun LinearLayout.bindGradeWithMarks(availableGradesIndexes: IntArray)
还尝试了List<Int>
likefun LinearLayout.bindGradeWithMarks(availableGradesIndexes: List<Int>)
和variable类型List<Int>
还尝试将绑定变量类型设置为Integer
and Integer[]
and alsoList<Integer>
所以问题是如何使用绑定适配器绑定整数列表或数组?!
android - BindingAdapter 加载自定义动画
我只是想实现以下任何一项
我试过下面的代码。
达不到。