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

sum*_*rma 5 android return-type type-conversion android-spinner

这句话会回归什么?

parent.getItemAtPosition(position)
Run Code Online (Sandbox Code Playgroud)

parent微调器和位置的父视图在哪里是微调器视图中的选定位置.

Phi*_*oda 5

我假设你所说的"父母"是一个旋转器.在这种情况下:

Spinner.getItemAtPosition(pos); 
Run Code Online (Sandbox Code Playgroud)

将始终返回您填充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
Run Code Online (Sandbox Code Playgroud)

使用字符串数组的另一个例子:( 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
Run Code Online (Sandbox Code Playgroud)


Ket*_*hir 1

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

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

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