ArrayList中的ArrayAdapter显示资源ID而非值

时间:2014-09-19 12:48:14

标签: android arraylist android-arrayadapter

我正在尝试从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

1 个答案:

答案 0 :(得分:1)

ArrayAdapter的默认实现将调用您在数据集中提供的对象的toString方法。最简单的解决方法是覆盖toString类中的BarcodeSpinner,使其返回您要显示的字符串