从 Spinner 下拉列表中添加项目

Adding item from Spinner dropdown

我想要一个 Spinner 下拉列表,其末尾包含一个元素,允许我添加新项目。

有什么想法可以实现这样的构造吗?

因为看起来 "gold" 社区很自豪能帮助我,所以我尝试了一些想法,看起来这个可能相当不错。

我已经创建了自定义 ArrayAdapter。它的作用是在 List 的末尾添加额外的伪造元素,以作为 NewItemBtn.

代码

适配器

public class AddingSpinnerAdapter extends ArrayAdapter<String> {

public AddingSpinnerAdapter(Context context, int resource, List<String> objects) {
    super(context, resource, objects);
    addStaticElementToList(objects);
}

private void addStaticElementToList(List<String> objects) {
    objects.add("Add new objectt");
    notifyDataSetChanged();
}

}

旋转器

  spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            int itemCount = parent.getAdapter().getCount() - 1;
            if (itemCount == position) {
                //bogus element chosen 
            } else {
                //select element
            }
        }

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

        }
    });