2012-04-30 55 views
0

我试图与我从数据库中检索数组中的微调,这里检索到的微调阵列而来的代码我试图使用方法:设置在从数据库

Unit unit; 
    int idx = 1; 
    ArrayAdapter spinnerArrayAdapter = new ArrayAdapter(this, 
      android.R.layout.simple_spinner_item, new Unit[] { 
       unit = connector.getUnit(idx); 
       while (connector.getUnit(idx) != null){ 
       new Unit(unit.getunitID(), unit.getunitTypeID(), unit.getorganizationID(), unit.getunitName(), unit.getunitAddress()); 
       unit = connector.getUnit(idx); 
       idx++; 
       } 
        }); 

连接器.getUnit(idx)基本上从数据库中检索一个Unit对象,如果没有更多的单元需要检索,它将返回一个空值。编译器在抱怨:

unit = connector.getUnit(idx); 

“语法错误,插入 ”)“,结束VariableInitializer”

和:

idx++; 

“语法错误,插入”} “完成块”

我认为这将是正确的代码做我想做的,但不知何故,我无法设法使其工作,任何想法?

在此先感谢

+0

为什么不移出spinnerArrayAdapter构造的数组构造逻辑?这样的代码看起来更干净,容易调试吗? – kosa

回答

1

您尝试创建一个Unit对象数组。在新单元[] {}的“{”和“}”之间,只能使用由“,”分隔的单元对象。你有很多不符合这种语法的逻辑。您应该将其全部移到该初始化器部分的外部,并将已创建的Unit对象数组提供给ArrayAdapter构造函数。

+0

谢谢!我重新安排了代码,所以我从列表中的所有单元中检索了一个列表,你知道我该如何设置ArrayAdapter吗?对不起,我对Java很陌生:( –

+0

)假设您的变量列表类型为是“units”,您可以使用units.toArray(新Unit [0])在Unit []中转换它。 ArrayAdapter和它应该工作。 – azertiti