我在片段布局中有一个带有列表auf MutableLiveData<Data>
的ViewModel,我用List中的数据元素之一设置了CustomView的数据变量。
这在第一次加载时效果很好,但是当我更改数据对象中的值时不会更新。
不太确定如何执行此操作,直到现在我才使用了双向数据绑定,例如EditText和MutableLiveData。
CustomView布局:
<data>
<variable
name="data"
type="androidx.lifecycle.LiveData<Data>"/>
</data>
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:cardBackgroundColor="@{data.color}"
app:cardCornerRadius="16dp">
班级:
var data: MutableLiveData<Data>? = null
set(value) {
binding.data = value
}
片段布局:
<data>
<variable
name="viewModel"
type=".ViewModel" />
</data>
<CustomView
.
.
.
app:data="@{viewModel.data[1]}" />
答案 0 :(得分:0)
仅在第一次加载屏幕时才进行更新的原因是,使用XML来填充View,然后使用初始项并将其设置为CustomView。
然后,当列表中的项目更新时,它不会在CustomView中触发更新。
您可能正在寻找的是partial = partial + input_matrix [c][r] * sign_matrix [r][c];
karate-config.js
if(env == 'pre-prod')
{
config.baseUrl='url1'
}
headers.js
function() {
var authheaders = {};
switch(baseUrl){
case 'url1':authheaders = { Authorization: 'auth-token'}
break;
}
return authheaders
}
然后以以下方式使用它:
@BindingAdapter
下面的链接可能是一个很好的演练:BindingAdapter
注意:该示例仅适用于布尔观察,但是可以将其更改为匹配观察到的任何对象。