错误:无法在flex中访问null对象引用的属性或方法

时间:2010-09-09 20:21:37

标签: flex actionscript-3 actionscript flex3

在高级数据网格中运行带有out数据的checkBox项呈示器时获取错误。 错误:无法访问空对象引用的属性或方法。

请找到以下代码:

**

public function set listData(value:BaseListData):void
            {   

            _listData=value;                
            _dataGrid=value.owner as AdvancedDataGrid;
            _dataField=(value as AdvancedDataGridListData).dataField;

            }

** 这里的值是comming为null,所以我得到了异常。请让我知道如何解决它。

谢谢, 拉维

2 个答案:

答案 0 :(得分:1)

在尝试访问值属性之前检查null:

_dataGrid = value != null ? value.owner as AdvancedDataGrid : null;
_dataField = value != null ? (value as AdvancedDataGridListData).dataField : null;

这样,如果value为null,_dataGrid和_dataField将被设置为null,从而避免运行时错误。

希望有所帮助。

答案 1 :(得分:0)

我很困惑。

首先,该复选框已包含一个listData属性,该属性继承自Button:http://livedocs.adobe.com/flex/3/langref/mx/controls/Button.html#listData。你为什么需要实施一个新的?

其次,itemRenderer的ListData属性已经允许您访问listData属性。为什么需要在渲染器中本地存储它们?

http://livedocs.adobe.com/flex/3/langref/mx/controls/advancedDataGridClasses/AdvancedDataGridListData.html