是否可以通过编程方式隐藏/销毁微调器的某些项目?

时间:2017-01-10 18:56:13

标签: android spinner

我的旋转器中有14个物品。但我想隐藏一些不同条件的物品。

例如

我想隐藏条件1的最后2项,条件2的最后4项等等。

是否可以使用setVisibility方法隐藏/销毁整个微调器的项目?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用此自定义适配器根据微调器中项目的位置隐藏微调器中的项目。

public class CustomAdapter extends ArrayAdapter<String> {

     private int hidingItemIndex;

     public CustomAdapter(Context context, int textViewResourceId, String[] objects, int hidingItemIndex) {
         super(context, textViewResourceId, objects);
         this.hidingItemIndex = hidingItemIndex;
     }

     @Override
     public View getDropDownView(int position, View convertView, ViewGroup parent) {
         View v = null;
         if (position == hidingItemIndex) {
             TextView tv = new TextView(getContext());
             tv.setVisibility(View.GONE);
             v = tv;
         } else {
             v = super.getDropDownView(position, null, parent);
         }
         return v;
     }
 }

点击此链接以参考How to hide one item in an Android Spinner

另一种方法是从数组列表中删除项目并设置为微调器。