Android ExpandableListView 在点击按钮时在每个项目的编辑文本中保存输入

Android ExpandableListView save input in each item's edit text on button click

我是 Android 的新手,无法完全找出解决我要解决的问题的正确方法。我有一个 ExpandableListView 有几个项目。每个项目都有一个 EditText,除了最后一个项目有一个按钮。 EditText 的内容将从数据库中加载。单击按钮或导航离开 activity 时,我想将每个 EditText 的内容保存到我的数据库中。

我不确定从 activity 的 class 中调用什么,从我的适配器中调用什么,以及如何正确访问每个项目。欢迎使用代码但不是必需的,我只是在寻找有关一般方法的指导。谢谢。

我建议在您的适配器中放置一个名为 saveAllValues 的方法。它遍历适配器中的对象列表并将它们保存到数据库中。单击您的按钮并在 activity 的 onStop() 方法中调用此方法(当 activity 不再可见时调用)。

您应该 activity 在 AsyncTask 的 onCreate 方法中获取项目 ID 的值。然后将 id/value 对的列表传递给其构造函数中的适配器。它应该维护这个列表,以便它可以通过它返回并将 ID 和值保存到数据库中。

希望我在这些链接中的回答对您有所帮助:

  1. 展示了如何维护适配器内部的列表以及如何从 activity.

  2. 中获取列表
  3. 显示如何使最后一个 child 与其他的不同。