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

ArrayAdapter.remove出现UnsupportedOperationException

龙星辰
2023-03-14
问题内容

在我的代码中,我有一个ListActivity。列表项的上下文菜单选项之一是“删除”,它会打开一个对话框以确认操作。我打算通过首先删除数据库中的项目数据,然后从中将其删除来实现此功能ArrayAdapter。是从中将ArrayAdapter其删除UnsupportedOperationException

public void onClick(DialogInterface dialog, int id) 
{
    asynchronousDeleteEntry(CONTEXT_SELECTED_ID);
    dialog.dismiss();

    //I -know- that the adapter will always be an object
    //of ArrayAdapter<JournalEntry> because this is the only type
    //I ever call setListAdapter with.  Debugging confirms this
    @SuppressWarnings("unchecked")
    final ArrayAdapter<JournalEntry> adapter = (ArrayAdapter<JournalEntry>)
        journalViewerListActivity.this.getListAdapter();

    //EXCEPTION OCCURS HERE                                
    adapter.remove(adapter.getItem(CONTEXT_SELECTED_POSITION));

    //refreshes the ListView to show the new items
    adapter.notifyDataSetChanged();

任何帮助表示赞赏。谢谢!


问题答案:

当您ArrayAdapter使用数组初始化时,似乎出现了此问题。尝试使用初始化它List<JournalEntry>。参考:为什么一个人不能从ArrayAdapter中添加/删除项目?



 类似资料:
  • 问题内容: 我是自动化的新手。这是我简单的TestNG登录代码,当我以TestNG身份运行该代码时,它显示为java.lang.NullPointerException,并通过双击突出显示我导航到URL的位置。这是我的代码。 问题答案: 您仅将 WebDriver 实例声明为: 您还需要按以下方式对其进行初始化: 有效代码块的实例将是:

  • 我有一个Main类,它有一个公共的静态void Main(String[]args){}。我还有一个叫做appGUI的类。我一直在尝试在运行主类时加载GUI,但什么都没有发生,甚至没有任何错误…:( 这里是主类: 这里是appGUI类: 我尝试过在Eclipse和netbean上运行主类,但是它运行了几秒钟后就停止了。我没有得到任何错误。在座的各位有什么建议吗?谢谢。

  • 问题内容: 我正在尝试从中删除一些元素,但即使是最简单的示例,如本答案或本示例中的示例,也将无法使用。 使用法线代替a 并没有帮助。我想念什么?我正在使用Java 7。 问题答案: 返回由原始数组支持的列表。您对列表所做的更改也将反映在您传入的数组中。由于您无法向数组添加或删除元素,因此对列表进行这种创建也是不可能的,这就是调用失败的原因。如果要能够动态添加和删除元素,则需要使用(,等)的不同实现

  • 我正在写一个代码,它将在ec2中运行,并在s3中为我的帐户列出桶。代码运行良好。然而,当我试图将x射线检测到其中时,x射线痕迹不会出现。我已将x射线依赖项包含在pom.xml 我尝试了很多方法,比如引入配置,但都没用。 有人有一个样本代码将是有益的,因为没有太多的资源,关于它和AWS的官方样本项目不是很清楚。 获取以下异常 2019-04-27 10:46:28.706错误3865---[pool

  • 问题内容: 与slf4j一起使用时, 跟踪如下 问题答案: 看起来您在各种SLF4J API和集成库之间的版本不匹配。关于版本兼容性,SLF4J非常不灵活(例如1.6.x与1.5.x不向下兼容)。 确保各种JAR版本匹配,并且确保在类路径上没有重复的JAR。

  • 问题内容: 我正在尝试将我的应用程序转换为Swift语言。 我有这行代码: 如何将其转换为Swift? 在Apple的文档中,没有这种方法。 问题答案: iOS 9更新: 如果您的目标是iOS 9+(从Xcode 7 b1开始),则协议中有一个不使用varargs 的新方法: 可以这样使用: 如果您仍然需要支持iOS 8或更早版本,请使用以下原始答案回答此问题。 对于iOS 8和7: 这些方法不适