Android spinner设置显示文字
时间: 2023-08-07 22:03:02
浏览: 209
在 Android 中,Spinner 是一个下拉菜单控件,可以在其中选择一个选项。如果我们希望 Spinner 显示的是选项的文字,而不是默认的 to[string](https://geek.csdn.net/edu/8802d631b97a4a6af1f4d0bbf8527465?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083)() 方法返回的[字符串](https://geek.csdn.net/educolumn/ba94496e6cfa8630df5d047358ad9719?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083),可以通过自定义适配器的方式来实现。
首先,我们需要自定义一个适配器,继承 ArrayAdapter,重写 getView() 方法,在其中设置显示的文字。例如,以下代码创建了一个自定义适配器,将 Spinner 中的选项显示为选项的名称:
public class MySpinnerAdapter extends ArrayAdapter<Item> {
private List<Item> itemList;
public MySpinnerAdapter(Context context, int resource, List<Item> itemList) {
super(context, resource, itemList);
this.itemList = itemList;
@Override
public View getView(int [pos](https://geek.csdn.net/educolumn/0399089ce1ac05d7729a569fd611cf73?spm=1055.2569.3001.10083)ition, View convertView, ViewGroup parent) {
TextView textView = (TextView) super.getView([pos](https://geek.csdn.net/educolumn/0399089ce1ac05d7729a569fd611cf73?spm=1055.2569.3001.10083)ition, convertView, parent);
textView.setText(itemList.get([pos](https://geek.csdn.net/educolumn/0399089ce1ac05d7729a569fd611cf73?spm=1055.2569.3001.10083)ition).getName());
return textView;
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
TextView textView = (TextView) super.getDropDownView(position, convertView, parent);
textView.setText(itemList.get(position).getName());
return textView;
```