安卓spinner adapter
时间: 2023-08-23 07:15:33 浏览: 89
android Spinner
4星 · 用户满意度95%
安卓 Spinner(下拉框)是一个常用的 UI 控件,Adapter 是用来提供数据的组件,用于将 Spinner 和数据源进行关联。下面是一个简单的 Spinner Adapter 示例:
```java
public class MySpinnerAdapter extends ArrayAdapter<String> {
private Context mContext;
private String[] mValues;
public MySpinnerAdapter(Context context, int textViewResourceId, String[] values) {
super(context, textViewResourceId, values);
mContext = context;
mValues = values;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
TextView label = (TextView) super.getView(position, convertView, parent);
label.setTextColor(Color.BLACK);
label.setText(mValues[position]);
return label;
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
TextView label = new TextView(mContext);
label.setTextColor(Color.BLACK);
label.setText(mValues[position]);
return label;
}
}
```
在上面的代码中,我们创建了一个名为 MySpinnerAdapter 的 Adapter 类,它继承自 ArrayAdapter。这个 Adapter 接收三个参数:上下文、Spinner 中每个选项的布局和数据源。在 getView() 方法中,我们设置了 Spinner 中每个选项的文本和颜色。在 getDropDownView() 方法中,我们设置了 Spinner 中下拉列表中每个选项的文本和颜色。
使用这个自定义的 Adapter,我们可以通过以下方式将 Spinner 和数据源进行关联:
```java
String[] values = {"Option 1", "Option 2", "Option 3"};
Spinner spinner = findViewById(R.id.spinner);
MySpinnerAdapter adapter = new MySpinnerAdapter(this, android.R.layout.simple_spinner_item, values);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
```
在上面的代码中,我们创建了一个包含三个选项的数据源 values,然后将 Spinner 和数据源进行关联。我们将 MySpinnerAdapter 实例化并传入三个参数:上下文、Spinner 中每个选项的布局和数据源。最后,我们设置了 Spinner 下拉列表中每个选项的布局,并将 Adapter 设置给 Spinner。
阅读全文