0

我有3个旋转器,他们在选择旋转器一个时,他们正在做古老的乐趣它更新了旋转器两种等。

我有一个例程,当微调器更改时,它会运行它以使用微调器中的值更新编辑文本字段。

但是,当页面加载时它会翻倒(我假设微调器 3 中什么都没有?)

public void updateLocalDesc(){

   AssetType = spnAssetType.getSelectedItem().toString();     
       AssetGroup = spnAssetGroup.getSelectedItem().toString();

       if(!spnAssetSubGroup.getSelectedItem().toString().equals("")){
           AssetSubGroup = spnAssetSubGroup.getSelectedItem().toString();
           tbLongDescription.setText(AssetType + " - " + AssetGroup + " - " + AssetSubGroup);
       } else
       {
           tbLongDescription.setText(AssetType + " - " + AssetGroup);
       }


}

正如你所看到的,我正在努力保护它。我的错误是: http: //pastebin.com/y6x5iPNW

4

1 回答 1

0

空指针在哪一行?我想它在

if(!spnAssetSubGroup.getSelectedItem().toString().equals(""))

spnAssetSubGroup.getselectedItem()在调用它之前,您应该对其进行空检查toString()。就像是:

if(spnAssetSubGroup.getSelectedItem() != null && !spnAssetSubGroup.getSelectedItem().toString().equals(""))

该错误也可能在

AssetType = spnAssetType.getSelectedItem().toString();     
AssetGroup = spnAssetGroup.getSelectedItem().toString();

getSelectedItem()当没有选择任何项目时返回 null,因此您需要确保 null 检查某些微调器是否最初不会选择任何内容。

于 2012-10-17T13:07:12.803 回答