怎么隐藏Spinner中的一项item
时间: 2023-06-11 09:06:11 浏览: 44
要隐藏Spinner中的一项item,可以使用自定义的Adapter来实现。以下是一个示例代码,其中第二项将被隐藏:
```java
public class CustomAdapter extends ArrayAdapter<String> {
private int hideItemIndex;
public CustomAdapter(Context context, int resource, String[] items, int hideItemIndex) {
super(context, resource, items);
this.hideItemIndex = hideItemIndex;
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
View view = super.getDropDownView(position, convertView, parent);
if (position == hideItemIndex) {
view.setVisibility(View.GONE);
ViewGroup.LayoutParams params = view.getLayoutParams();
params.height = 0;
return view;
} else {
view.setVisibility(View.VISIBLE);
ViewGroup.LayoutParams params = view.getLayoutParams();
params.height = ViewGroup.LayoutParams.WRAP_CONTENT;
return view;
}
}
}
```
使用方法如下:
```java
String[] items = {"Item 1", "Item 2", "Item 3", "Item 4"};
int hideItemIndex = 1;
CustomAdapter adapter = new CustomAdapter(this, android.R.layout.simple_spinner_item, items, hideItemIndex);
spinner.setAdapter(adapter);
```
在上面的代码中,我们创建了一个CustomAdapter类来扩展ArrayAdapter,并覆盖了getDropDownView()方法。在该方法中,如果当前位置等于要隐藏的位置,则将其视图设置为不可见,并将其高度设置为零,否则将其视图设置为可见,并将其高度设置为包裹内容。
然后,我们使用CustomAdapter来设置Spinner的适配器,并传递要隐藏的项的索引作为参数。