我有这个飞镖/飞镖提供商
class Cars with ChangeNotifier {
List<Car> _items = [];
Car _selectedCar;
final Auth auth;
Cars(this.auth, this._items);
List<Car> get items {
return [..._items];
}
Car get getCar {
return _selectedCar;
}
void setSelectedCar(Car car) {
_items.add(car);
_selectedCar = car; // here I am getting null from _selectedCar
notifyListeners();
}
}
使用Android Studio 3.5.1与调试器进行检查,我可以检查自己的汽车变量中是否有真正的汽车:
car = {Car} _listeners = {ObserverList}()id = 156 shasi = “ FDGFGFDGDFGFD”品牌=“雷诺”型号=“ Talisman E1&E2” nomer =“ FGBFDFG”
答案 0 :(得分:1)
我注意到有时,调试器实际上在IDE突出显示的行的后面几行。因此,在您的示例中,即使第78行被突出显示,第77行也可能尚未执行。
我不知道为什么会这样-这有点古怪,随着时间的流逝,您将了解到调试器永远不会准确了解哪些行,以及哪些行永远是准确的。例如,永远不会命中if (true) {
上的断点。由于这些原因,我建议避免在遇到断点时手动跨步/进入。而是单击以在您感兴趣的所有不同行上设置断点,然后继续运行。
对于您的用例,我建议在第78行和第79行放置断点。总是会碰到诸如第79行这样的右括号。
答案 1 :(得分:0)
看起来像
selected car = car
是类中的变量。
您在后台运行任何异步方法吗?
在您查看值时,也许有人正在更改该值。