我有一个由我的ArrayAdapter支持的简单ListView,每隔约5秒左右用新数据更新一次。每隔5秒,我在我的ArrayAdapter上调用notifyDataSetChanged,这会导致ListView重新绘制新数据。所有这一切都很好,我每隔5秒就会看到新的数据。
但是,在我的ArrayAdapter的getView方法中,我正在给包含EditText的LinearLayout充气。这是我要解决的问题:
允许用户专注于此EditText但确保数据始终保持新鲜的最佳方式是什么?
谢谢,
肖恩
答案 0 :(得分:0)
它可能不是最好的方式,而是快速的方式。覆盖notifydatasetchanged,首先检查你是否有一个具有焦点的元素(或者当它获得焦点时存储它而不丢失它),存储输入,调用super.notifyDatasetChanged,写入旧值。
如果适配器的项目太多,这可能不是一个好的解决方案。