Android 如何从.getSelectedItem()的字符串中获取位置

Android 如何从.getSelectedItem()的字符串中获取位置,android,spinner,adapter,Android,Spinner,Adapter,如果ArrayAdapter,deliveryStaffResultAdapter.getPosition(myData)正常。但是如果CustomSpinnerAdapter,如何从deliveryStaffResultAdapter获取myData String myData = spn_staff_list.getSelectedItem().toString(); int position = deliveryStaffResultAdapter.getPosition(myData);

如果
ArrayAdapter
deliveryStaffResultAdapter.getPosition(myData)
正常。但是如果
CustomSpinnerAdapter
,如何从
deliveryStaffResultAdapter
获取
myData

String myData = spn_staff_list.getSelectedItem().toString();
int position = deliveryStaffResultAdapter.getPosition(myData); // error here (getPosition)
getPosition()

Android开发者的页面(链接在上面)指出:

由于异步处理适配器更新,此方法的含义不明确,因此不推荐使用。请使用
getLayoutPosition()
getAdapterPosition()
,具体取决于您的用例

或者,根据您的代码,第二行可以使用微调器对象
getSelectedItemPosition()。对此的描述是,它将

返回适配器数据集中当前选定项的位置


请发布错误日志。
getPosition()
是否已弃用?您可以使用spinner对象getSelectEditePosition()。请按照@cherry wave的要求提供更多的代码和错误日志,这样我们可以更好地帮助您。我猜您的CustomSpinnerAdapter没有正确实现。确保在构造函数中调用super并向上传递数组,或者重写getPosition()以返回正确的对象。发布自定义适配器会有所帮助。