【问题标题】:How can I remove an item from a spinner when it has been already selected on another spinner?当一个项目已经在另一个微调器上被选中时,如何从微调器中删除它?
【发布时间】:2022-01-04 09:32:21
【问题描述】:

我的代码中有 3 个微调器,有相同的 4 个选项。但是,我希望当在某个微调器上选择一个选项时,相同的选择会从下一个中删除,这样没有微调器可以有相同的选择。

当一个项目已经在另一个微调器上被选中时,如何从微调器中删除它?

【问题讨论】:

    标签: java android spinner


    【解决方案1】:

    您可以创建一个List 选项,当用户选择一个Item 时,它会被添加到List,而Item 将从支持所有3 个微调器的另一个List 中删除。然后通知列表的更改。

    List<String> choices = new ArrayList<>();
    List<String> options = new ArrayList<>():
    
    spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
              choices.add(options.get(position));
              options.remove(position);
              adapter1.notifyDataSetChanged();
        }
    
        @Override
        public void onNothingSelected(AdapterView<?> parentView) {}
    
    });
    spinner2.setOnItemSelectedListener(new OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
              choices.add(options.get(position));
              options.remove(position);
              adapter2.notifyDataSetChanged();
        }
    
        @Override
        public void onNothingSelected(AdapterView<?> parentView) {}
    
    });
    spinner3.setOnItemSelectedListener(new OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
              choices.add(options.get(position));
              options.remove(position);
              adapter3.notifyDataSetChanged();
        }
    
        @Override
        public void onNothingSelected(AdapterView<?> parentView) {}
    
    });
    

    【讨论】:

    • 这非常有用,非常感谢!
    猜你喜欢
    • 2016-08-17
    • 1970-01-01
    • 2017-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多