我有一个数据库对象,它包含很多字符串字段。现在,这些字符串字段由用户通过一个包含大量编辑文本的活动来管理。但是,我很难将所有信息从我的EditTexts保存到数据库中。当活动调用onPause时,我尝试过这样做,但它没有按我所希望的方式工作(我使用的是带有EditTexts的ListView,所以很难判断视图是否在那里)。我一直在查看文本观察器,但是为每个EditText添加一个似乎很乏味,其中一些是动态创建的。
我已经考虑过扩展EditText并实现一些使用TextWatcher的东西,但我仍然不确定这方面的最佳方法。
有人对我如何做到这一点有什么建议吗?谢谢你的帮助。
发布于 2013-09-04 02:59:29
我想说的是,您应该在一个EditText中保存对每个ArrayList对象的引用,然后使用数组列表适配器将数据提供给列表视图。
当任何编辑文本发生更改时,您可以在适配器上调用notifyDatasetChanged。在onPause方法中,您可以通过ArrayList循环并将每个循环保存到数据库中。
发布于 2013-09-04 00:49:22
几个想法浮现在脑海中:
1.
在列表视图的顶部/底部或操作栏中实现保存按钮。
保存按钮onclicklistener将获取列表视图中的每个文本,并更新数据库中的相关字段。
将saveButton工作放在UI线程中,这样它就会被阻塞,直到完成,并且活动不会被销毁。您还可以创建一个进度对话框,让用户知道它正在更新。
2.
为您的listview和适配器的getView()方法实现一个自定义适配器(无论如何您必须重写它),动态地添加一个文本观察器.那样的话,单独添加它们对你来说就不那么困难了
https://stackoverflow.com/questions/18603289
复制相似问题