我有ViewModel:
public class CalculatorViewModel implements CalculatorMVVM.ViewModel {
private static final String TAG = CalculatorViewModel.class.getSimpleName();
private CalculatorMVVM.Model model;
public CalculatorViewModel(CalculatorMVVM.Model model) {
this.model = model;
我正在尝试使用数据绑定实现一个简单的视图隐藏/显示。我有一个api调用,当api调用正在进行时,我必须显示一个进度条。一旦我得到响应,就必须忽略此进度并显示数据。我尝试使用数据绑定动态更改进度栏的可见性。但是什么也没发生。仅在第一次根据绑定变量设置进度条可见性。当我更新绑定变量时,它不会动态更新。
下面是我的示例代码
活动:
public class MainActivity extends AppCompatActivity {
private static final String TAG = MainActivity.class.getSimpleName();
@Override
我想通过一个LiveData对象动态地改变按钮的背景。
我的ViewModel:
public class ViewModel {
public ViewModel(Context context) {
}
public LiveData<Drawable> getBackDrawable(){
MutableLiveData background = new MutableLiveData<>();
background.postValue(new ColorDrawable(Color.parseColor(
我将举一个例子,以便容易地解释我的问题。
考虑在我的应用程序中使用带有ViewModelA的FragmentA和带有ViewModelB的FragmentB。
我有一个要在FragmentA和FragmentB中使用的BottomSheetSample,因为底部工作表的作用很小,比如选择一个值来共享显示底部工作表的片段的ViewModel,而不是拥有一个单独的ViewModel并将数据传输到fragment的ViewModel。我像这样将ViewModel绑定到导航图。
FragmentA内幕
private val viewModel: ViewModelA by navGraphViewM
我正在试验来自谷歌的新架构组件,试图使用ViewModel、LiveData和DataBinding实现更多的响应式代码。
基本上,我关于ViewModel的想法是只有一个类型为Model的字段( user for the record,因为我们表示的是一个用户配置文件屏幕)。所以我的ViewModel类是:
class ViewModel : ViewModel() {
var model = MutableLiveData<User>()
我的Model类是:
class User(var name: String, var lastName: String, var age
我有一个测试项目,在这个项目中,我想通过DataBinding、Libray和add:command绑定一个按钮来触发一个函数。
不幸的是,我得到了一个错误:
Found data binding errors.
****/ data binding error ****msg:Could not resolve com.example.ckleineidam.testproject.ViewModel.testButton as an accessor or listener on the attribute.
MainActivity:
public class MainActivity