我尝试了一下,有两种方法
方法一,定义类的时候,将类继承livedata,并在set里实现postValue
package com.taeren.taerenpartner.model;
import androidx.lifecycle.LiveData;
public class Pandian extends LiveData {
private int _rollId;
private int _shelfId;
public int get_rollId() {
return _rollId;
}
public void set_rollId(int _rollId) {
this._rollId = _rollId;
postValue(this);
}
public int get_shelfId() {
return _shelfId;
}
public void set_shelfId(int _shelfId) {
this._shelfId = _shelfId;
postValue(this);
}
}
在viewmodel中做简单的定义和初始化即可
//对象extends自livedata
private Pandian _pandian= new Pandian();
public Pandian get_pandian() {
return _pandian;
}
然后在activity或者Fragment中这样访问和Observe
访问
mViewModel.get_pandian().set_rollId(scan_count);
观察