Spinner.getItemAtPosition(...)返回什么类型的Object?

时间:2013-08-17 11:27:43

标签: android type-conversion android-spinner return-type

这句话将会回归什么?

parent.getItemAtPosition(position)

其中parent是微调器的父视图,位置是微调器视图中的选定位置。

2 个答案:

答案 0 :(得分:5)

我认为你所谈论的“父母”是一个旋转器。在这种情况下:

Spinner.getItemAtPosition(pos); 

将始终返回您使用填充Spinner的对象类型。

使用CustomType的示例:(Spinner填充了“CustomType”类型的Items,因此getItemAtPosition(...)将返回CustomType)

Spinner spinner = (Spinner) findViewById(R.id.spinner1);
CustomType [] customArray = new CustomType[] { .... your custom items here .... };

// fill an arrayadapter and set it to the spinner
ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, customArray);

spinner.setAdapter(adapter);  

CustomType type = (CustomType) spinner.getItemAtPosition(0); // it will return your CustomType so you can safely cast to it

使用字符串数组的另一个例子:(Spinner填充了“String”类型的Items,因此getItemAtPosition(...)将返回String)

Spinner spinner = (Spinner) findViewById(R.id.spinner1);
String[] stringArray= new String[] { "A", "B", "C" };

// fill an arrayadapter and set it to the spinner
ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, stringArray);

spinner.setAdapter(adapter);  

String item = (String ) spinner.getItemAtPosition(0); // it will return your String so you can safely cast to it

答案 1 :(得分:1)

它将返回您在微调器中显示的dataType对象。

假设您正在显示String数组,那么它将返回String。

如果您正在显示整数数组,那么它将返回Integer,依此类推。