【发布时间】:2015-02-14 00:23:40
【问题描述】:
我开始学习 Android,我想知道 Android 中是否有一些选项可以让您修改每个项目或视图(我不知道它是如何准确命名的,我的意思是 ArrayList 中的每个项目您在 ListView 中显示)。
好吧,我创建了一个 ListView,它将显示一些位于名为“books”的 ArrayList 中的书籍。
我创建了一个与 ListView 关联的自定义适配器,以在应用程序中显示每个项目以及相应的布局。对于要在 ListView 中显示的每个项目,我还有一个类“书”。
此外,我创建了一个 Intent,我使用 startForActivityResult() 从 MainActivity 调用,我在 Book 类中进行处理,然后我使用 setResult 方法返回 MainActivity 与一本书的所有数据,并使用 onActivityResult() 获取信息和请求代码。
所以我向 ListView 添加项目没有任何问题,只是如果我想修改位于 ListView 中的一些项目(或视图)(例如,如果我有标题和一本书的作者,如果我输入了错误的信息,我希望可以选择更改它)。
我知道,在您单击 ListView 的某些项目的同一时刻,将显示一个新布局以修改错误的信息,因此我在自定义适配器上使用带有 onItemClick 事件的 setOnItemClickListener 方法我之前创建的。在这里,我调用新的 Intent 来使用 startActivityForResult() 方法修改错误信息。
我做了和以前一样的添加一个新项目,但是,而不是使用 custom_adapter.addBook(title,author) 添加一个新项目,我想知道是否有一些选项可以做这样的事情:custom_adapter.modify( title,author) 或 custom_adapter.update(title,author),我的意思是,当您修改了书中所有错误的项目(例如 EditText 是“title”)并且您拥有 MainActivity 中的所有信息时类(因为您使用 setResult 返回了它),如何将它再次放在同一个项目中,在 custom_adapter 和 ArrayList 中更新它。
我在互联网上搜索了它,但没有找到任何东西。
如果我的英语不好,我很抱歉,但我希望它能被理解。
非常感谢!
【问题讨论】:
-
基本上你通过适配器删除或添加项目。我也发布了一个答案。