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();
}