隐藏自定义微调器列表中的选定项

时间:2014-10-10 20:26:14

标签: android spinner android-adapter

我有一个Spinner通过适配器显示一些项目。事情就是每次我点击spinnerm它都会显示用户可以选择的所有项目的列表。我想隐藏当前从列表中选择的项目。

实施例

这是我的项目清单:

已选择:项目A

Spinner List:

  • 项目A
  • 项目B
  • 项目C

如果我选择项目B,它将变为:

已选择:项目B

Spinner List:

  • 项目A
  • 项目B
  • 项目C

我想隐藏Spinner列表中的所选项目。所以,在之前的两个案例中:

已选择:项目A

Spinner List:

  • 项目B
  • 项目C

如果我选择项目B,它将变为:

已选择:项目B

Spinner List:

  • 项目A
  • 项目C

1 个答案:

答案 0 :(得分:0)

您应该创建一个选择项目列表。因此,每当您选择一个项目时,您都会列入此列表。之后,您将比较两个列表:具有所有值的列表,以及具有所选值的列表,并仅显示尚未选择的项目。 我已经用过这样的东西:

    ArrayList<String> allItems = new ArrayList<String>();
    ArrayList<String> selectedItems = new ArrayList<String>();
    allItems.add("item a"); 
    allItems.add("item b"); 
    allItems.add("item c");

    selectedItems.add("item a");

    ArrayList<String> auxList = new ArrayList<String>();

    //populate an aux list without the selected items
    for(String itemFromAll: allItems){
        for(String selectedItem: selectedItems){
            if(!itemFromAll.equals(selectedItem)){
                auxList.add(itemFromAll);
            }
        }
    }

    //print the new list without the selected items
    for(String newItem: auxList){
        System.out.println(newItem);
    }

我希望它有所帮助