当前位置: 首页 > 面试题库 >

为什么一个人不能从ArrayAdapter中添加/删除项目?

慕容成和
2023-03-14
问题内容

我正在使用ArrayAdapter<CharSequence>填充要在中列出的项目android.widget.Spinner。一切正常。

但是现在我想保持项目列表的动态,即我希望能够在运行时从选择列表中添加/删除项目。但是,当我致电adapter.add(item)或时,adapter.remove(item)我总是得到a UnsupportedOperationException,即使ArrayAdapter该类的Javadocs将这两种方法描述为可用于该预期目的也是如此。

这是一个错误,真的没有实现,还是我在这里遗漏了什么?


问题答案:

您可能使用普通的Java数组(例如,String[])初始化了适配器。尝试使用一些实现java.util.List接口的东西(例如ArrayList<String>)。



 类似资料:
  • 问题内容: Java在Java 5中引入了带有泛型的类型擦除,因此它们可以在Java的旧版本上使用。这是兼容性的折衷。从那以后,我们就失去了兼容性–字节码可以在JVM的更高版本上运行,但不能在较早的版本上运行。这似乎是最糟糕的选择:我们丢失了类型信息,并且仍然无法在较旧版本上运行针对较新版本JVM编译的字节码。发生了什么? 具体来说,我是在问是否存在任何技术原因,导致无法在下一版JVM中删除类型擦

  • Java在Java5中引入了泛型的类型擦除,因此它们可以在Java的旧版本上工作。这是一个兼容性的折衷。从那以后,我们就失去了兼容性[1][2][3]--Bytecode可以在JVM的更高版本上运行,但不能在更早的版本上运行。这看起来可能是一个更糟糕的选择:我们丢失了类型信息,并且仍然无法在旧版本的JVM上运行为较新版本的JVM编译的字节码。怎么了? 具体地说,我想问的是,在JVM的下一个版本中为

  • 我使用以下代码进行我的主要活动: 用户应该能够在对话框中输入值,并且名称将显示在创建的行程列表中。但是,当列表中只有一个值时,似乎存在一个bug,因为该项未显示。我花了好几个小时都弄不明白。 公共类TripsData{

  • 问题内容: 嗨,我必须从一个JList中选择一个元素,将其从第一个元素中删除。我创建的方法仅插入一个元素,覆盖最后一个元素,并且不会从第一个JList中删除所选项目。这是代码: 第一名单 通过此方法填充: 第二个列表,我要在其中插入从第一个列表中删除的项目: 这是无效代码: 谢谢 问题答案: 问题是 您可能要添加一个元素并立即将其删除,因为添加和删除操作都在同一listModel上。 尝试

  • 问题内容: 我拼命地试图从字符串中删除空格(后来我希望能够将其转换为一个int),但是我似乎无法正常运行。 你能告诉我,我做错了什么吗?PS:我也尝试过\ W“和\ S” 问题答案: 更换 与 它将起作用,因为字符串是不可变的,因此不会更改您的字符串对象,它将返回一个新的字符串对象。因此,您将变量分配给由返回的字符串 另外,您应该尝试遵循Java命名约定,并使字段和变量以小写字母开头。 而且,您也

  • 一个课程只有一个主题(CoursetType)和一个数字(courseNumType)。 我已经在下面粘贴了两个类的完整代码,但我认为问题是我的action listener创建了一个新对象,然后调用了一个dropClass()方法(实际上是一个list.remove())。但我不确定如何在不创建新对象的情况下传递正确的值。 这是我创建GUI和实现动作侦听器的主要方法和类: 课程类别: