有问题。在我的主要活动中,我有一个ListView。每当我返回此活动时,都需要刷新它。我为此使用onResume()方法: 通用标签

如您所见,我使用ArrayAdapter扩展的刷新适配器来更改ListView中的数据。

但是在某些情况下,例如,我需要将此列表滚动到末尾。当我向其中添加新项目时。我为此使用onActivityResult(...)方法: 通用标签

但是我有一个问题。当我将新项目添加到列表中时,这两个方法都按onActivityResult(...)的顺序执行,然后再执行onResume()。而且我有:

  1. 使用refreshCategoriesList()将列表数据刷新到一定时间(但这不是主要问题);
  2. 在执行onResume()后,滚动到结束列表恢复到第一项位置:(这是一个问题。因为当我添加新项时,我希望滚动列表到末尾。

    如何解决此问题。在某些情况下,我可以只调用onActivityResult(...)方法(当我需要滚动列表时),而在其他onResume()方法中(当我只想刷新列表数据时)吗?

有帮助吗?

解决方案

您可以使用ArrayAdapter中的notifyDataSetChanged()方法,而不是每次都重新创建适配器。 通用标签

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top