Android 如何将模型(而不是字符串)放入微调器

Android 如何将模型(而不是字符串)放入微调器,android,spinner,adapter,tostring,Android,Spinner,Adapter,Tostring,我想把模型放到旋转器里。但问题是,在我将适配器与模型放在一起之后,微调器是空的 以下是模型: public Model { private String mId; private String mTitle; public String getId() { return mId; } public String getTitle() { return mTitle; } } 我可以放置模型的适配器: publ

我想把模型放到旋转器里。但问题是,在我将适配器与模型放在一起之后,微调器是空的

以下是模型:

public Model {
    private String mId;

    private String mTitle;

    public String getId() {
        return mId;
    }

    public String getTitle() {
        return mTitle;
    }
}
我可以放置模型的适配器:

public class ModelSpinnerAdapter extends ArrayAdapter<String> {

    private List<Model> mModels;

    public ModelSpinnerAdapter(Context context, int resource, int textViewId, List<Model> models) {
        super(context, resource, textViewId);

        mModels = models;
    }

    @Override
    public String getItem(int position) {
        Model model = mModels.get(position);

        return model.getTitle();
    }
}

但是,当我运行应用程序时,微调器是空的。发生了什么?getItem未调用。

您可以创建一个custum xml布局和一个扩展ArrayAdapter的custum适配器。

如果我从BaseAdapter扩展自己的适配器,而不是从ArrayAdapter扩展自己的适配器,它就会工作。

但我已经创建了扩展ArrayAdapter的ModelSpinGeneraAdapter。我想使用android standart布局。
private void initSpinner(View view) {
    Spinner spinner = (Spinner) view.findViewById(R.id.spinner);

    ModelSpinnerAdapter adapter = new ModelSpinnerAdapter(getActivity(), 
        android.R.layout.simple_spinner_item, android.R.id.text1, getModels());

    spinner.setAdapter(adapter);
    adapter.notifyDataSetChanged();
}