以下是一个示例代码,展示了如何观察多个 MutableLiveData 对象的解决方法:
public class MainActivity extends AppCompatActivity {
private MutableLiveData data1;
private MutableLiveData data2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
data1 = new MutableLiveData<>();
data2 = new MutableLiveData<>();
// 创建一个 Observer 对象观察 data1
Observer data1Observer = new Observer() {
@Override
public void onChanged(@Nullable String newData) {
// 当 data1 的值发生变化时,更新 UI
// 在这里添加你的逻辑代码
}
};
// 创建一个 Observer 对象观察 data2
Observer data2Observer = new Observer() {
@Override
public void onChanged(@Nullable Integer newData) {
// 当 data2 的值发生变化时,更新 UI
// 在这里添加你的逻辑代码
}
};
// 在 onCreate 方法中,将 Observer 对象与 MutableLiveData 对象进行关联
data1.observe(this, data1Observer);
data2.observe(this, data2Observer);
}
}
在这个示例中,我们创建了两个 MutableLiveData 对象 data1
和 data2
,并分别为它们创建了对应的 Observer 对象 data1Observer
和 data2Observer
。然后,我们通过调用 observe
方法将 Observer 对象与 MutableLiveData 对象进行关联,使得当对应的 MutableLiveData 对象的值发生变化时,Observer 对象能够收到通知并执行相应的逻辑代码。在示例中,我们将 data1Observer
和 data2Observer
与 data1
和 data2
进行了关联。
你可以根据自己的需求,在对应的 Observer 对象中编写你的逻辑代码。