我有一个扩展了 A 类的 B 类,我试图从 A 类访问一个变量,但它没有返回正确的值。
(1) A类顶部的变量声明:
private int tripCount;
(2) 我在 A 类的 onCreate 中有一个 ViewModel 观察者,它正在寻找 ROOM 数据库中的变化并相应地设置 tripCount 变量:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// we are going to overwrite this
// setContentView(R.layout.activity_base);
baseViewModel = ViewModelProviders.of(this).get(TripViewModel.class);
baseViewModel.getAllTrips().observe(this, new Observer<List<TripEntity>>() {
@Override
public void onChanged(@Nullable final List<TripEntity> trips) {
tripCount = trips.size();
Log.v("BaseActivity","tripCount: " + tripCount);
}
});
}
(3) A类的getter方法:
public int getTripCount() {
return this.tripCount;
}
(4) B 类正在扩展 A 类并尝试通过以下方式访问 tripCount 变量/值:
tripCount2 = super.getTripCount();
Log.v("TripActivity","tripCount: " + tripCount2);
日志显示 B 类的 tripCount2 为 0,A 类的 tripCount > 0。我的实现有问题吗?
Cats萌萌
相关分类