我有一个类PictureArrayAdapter
扩展ArrayAdapter<Pair<String, ImageInitialiser>>
并具有以下构造的数组:调用带有参数的函数是parametrised对象
public PictureArrayAdaptor(Context context, Pair<String, ImageInitialiser>[] values)
我们已经明确宣布,在该构造函数被调用,程序员必须通过Pair<String, ImageInitialiser>[]
,否则可能会发生类型错误。现在,没有警告地生产这样的物体是相当困难的:
@SuppressWarnings("unchecked")
Pair<String, ImageInitialiser> tableData[] = new Pair[1];
tableData[0]=new Pair<String, ImageInitialiser>("A", new ResourceImageInitialiser(R.drawable.sample1));
一种可能性是使用列表来代替。但是,为了保持一致性,我想让所有构造函数与完全相同。有没有更好的方法来调用这个构造函数?我真的不认为这就是它应该被称为的方式。
正在使用'public PictureArrayAdaptor(Context context,Pair ... ... values)'一个选项吗? –
dasblinkenlight
2012-08-15 01:38:47
@dasblinkenlight:谢谢。这是一个有趣的想法,但如果我想保持构造函数与基类相同 – Casebash 2012-08-15 01:40:24
我无法确定传递数组代替可变参数列表:'...'是“语法糖”在一个简单的数组之上。 – dasblinkenlight 2012-08-15 01:43:39