搜索过滤列表视图后如何在共享首选项中保存元素的旧位置

How to save old position of an element in sharedpreferences after Search filtering the listview

我实现了过滤代码,并保存了列表视图中所选元素的位置。用户通过 editText 在列表视图中进行搜索后,将创建一个新列表。当用户单击该元素时,它的位置将保存在 sharedpreferences 中。通过重新打开应用程序,需要此位置,但不需要过滤列表视图中的位置。它应该是原来的正确位置。我没有在我的代码中找到任何方法来执行此操作。 我真的很感激任何帮助。 谢谢。

您的元素应将其定位为字段。在初始化或添加到列表时初始化位置。

保存位置不是实现解决方案的便捷方式。相反,您需要存储列表的任何唯一值。

假设您要显示 Person 的列表并根据用户搜索过滤该列表。所以,每个人都会有一个 id,p_id,这是唯一的。尝试将 p_id 保存在您的 SharedPreference.

然后在重新打开应用程序后检查原始列表的p_id并标记然后选择或取消选择。