我正在尝试从ArrayList填充一个微调器。
我遇到的问题是,spinner不是在ArrayList中显示值,而是显示资源ID的完整路径!
我的代码
@Override
public void CartonMoveOptions(ArrayList<BarcodeSpinner> bSpinner) {
Spinner BarcodeChoice = (Spinner) rootView.findViewById(R.id.cartonChoices);
BarcodeChoice.setVisibility(View.VISIBLE);
ArrayAdapter<BarcodeSpinner> a = new ArrayAdapter<BarcodeSpinner>(getActivity(), android.R.layout.simple_spinner_item, bSpinner);
a.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
BarcodeChoice.setAdapter(a);
}
BarcodeSpinner包含两行,唯一的内容是每行一个字符串。
有谁可以指出出了什么问题?
这是我的BarcodeSpinner类
public class BarcodeSpinner {
String Barcode;
public String getBarcode() {
return Barcode;
}
public void setBarcode(String barcode) {
Barcode = barcode;
}
}
解答:
添加
@Override
Public String toString()
{
return Barcode;
}
到BarcodeSpinner
答案 0 :(得分:1)
ArrayAdapter
的默认实现将调用您在数据集中提供的对象的toString
方法。最简单的解决方法是覆盖toString
类中的BarcodeSpinner
,使其返回您要显示的字符串