微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

空的默认自定义微调器

如何解决空的默认自定义微调器

我在我的微调器中添加了所有必要的项目,但我想将第一个作为空的认值,比如在项目的第一个位置“选择类别”。如何将第一个设置为空认值?

这是我的代码

private Spinner customSpinner;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_add);
    //CUSTOM SPINNER----------------------------------------------------------------------------
    customSpinner=findViewById(R.id.customSpinner);

    // create spinneritemlist for spinner
    ArrayList<CustomItems> customList = new ArrayList<>();
    customList.add(new CustomItems("Cat",R.drawable.ic_)); //30dp vector asset
    customList.add(new CustomItems("Dog",R.drawable.ic_));
    customList.add(new CustomItems("Elephant",R.drawable.ic_));
    customList.add(new CustomItems("item 2",R.drawable.ic_));
    customList.add(new CustomItems("item 3",R.drawable.ic_));
    customList.add(new CustomItems("4",R.drawable.ic_));
    customList.add(new CustomItems("5",R.drawable.ic_));
    customList.add(new CustomItems("c",R.drawable.ic_));
    customList.add(new CustomItems("shark",R.drawable.ic_));
    customList.add(new CustomItems("Pet",R.drawable.ic_));
    customList.add(new CustomItems("Toys",R.drawable.ic_));
    customList.add(new CustomItems("Others",R.drawable.ic_));

    // create Adapter for spinner
    CustomAdapter customAdapter = new CustomAdapter(this,customList);

    if (customSpinner != null) {
        customSpinner.setAdapter(customAdapter);
        customSpinner.setonItemSelectedListener(this);
    }
    //CUSTOM SPINNER----------------------------------------------------------------------------


}
//CUSTOM SPINNER--------------------------------------------------------------------------------
@Override
public void onItemSelected(AdapterView<?> adapterView,View view,int i,long l) {
    CustomItems items = (CustomItems) adapterView.getSelectedItem();
    Toast.makeText(this,items.getSpinnerText(),Toast.LENGTH_SHORT).show();
}

@Override
public void onnothingSelected(AdapterView<?> parent) {

}
//CUSTOM SPINNER--------------------------------------------------------------------------------

解决方法

您可以尝试使用此方法为微调器实现占位符

ArrayList<CustomItems> customList = new ArrayList<>();
customList.add(new CustomItems("Cat",R.drawable.ic_)); //30dp vector asset
customList.add(new CustomItems("Dog",R.drawable.ic_));
customList.add(new CustomItems("Elephant",R.drawable.ic_));
customList.add(new CustomItems("Select Animal",R.drawable.ic_)); <- This

在您的 CustomAdapter 覆盖 getCount 方法

@Override
public int getCount() {
    return customList.length - 1;
}

并在设置适配器后在您的 onCreate 函数中

customSpinner.setSelection(customList.length - 1);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。