Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 安卓;“吸气剂”;是否返回了错误的值_Java_Android - Fatal编程技术网

Java 安卓;“吸气剂”;是否返回了错误的值

Java 安卓;“吸气剂”;是否返回了错误的值,java,android,Java,Android,我有一个扩展了类A的类B,我试图从类A访问一个变量,但它没有返回正确的值 (1) 类顶部的变量声明: private int tripCount; (2) 我有一个a级onCreate中的ViewModel observer,它正在查找房间数据库中的更改,并相应地设置tripCount变量: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanc

我有一个扩展了类A的类B,我试图从类A访问一个变量,但它没有返回正确的值

(1) 类顶部的变量声明:

private int tripCount;
(2) 我有一个a级onCreate中的ViewModel observer,它正在查找房间数据库中的更改,并相应地设置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);
        }
    });
}
(4) B类正在扩展A类,并试图通过以下方式访问tripCount变量/值:

tripCount2 = super.getTripCount();
Log.v("TripActivity","tripCount: " + tripCount2);

日志显示B类的tripCount2为0,A类的tripCount大于0。我在这里的实现有什么问题吗?

我找到了问题的答案


我没有使用getter和setter方法,而是将tripCount变量设置为“protected”,这样我就可以从子类访问它。

A类的tripCount大于0,如果您不发布所有相关代码,您如何获得帮助?我缺少什么?我想我已经发布了所有相关的代码@Forpas实例化类B的代码在哪里?类A中的tripCount是如何获得其值的?即使类
B
扩展类
A
两者的实例仍然是完全独立的对象,在
B
实例中调用
super.getTripCount()
不会从
A
实例返回值。
tripCount2 = super.getTripCount();
Log.v("TripActivity","tripCount: " + tripCount2);