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()以返回正确的对象。发布自定义适配器会有所帮助。