2
我正在從事的應用程序正在從互聯網加載新聞。在主Activity
我有一個RecyclerView
與選擇的主題。所有內容均在onResume()
方法中加載和更新。原因是我每次回到Activity
時都想更新新聞的數量和所有這些活動的內容。我也有一個喜好Activity
。這是非常標準的。Activity.recreate()複製列表
在我的活動我有一個listener
:
SharedPreferences.OnSharedPreferenceChangeListener listener = new SharedPreferences.OnSharedPreferenceChangeListener() {
public void onSharedPreferenceChanged(SharedPreferences prefs, String key) {
recreate();
}
}
每當我去設置菜單和回我有我的RecyclerView
與改變的值,但我也得在列表中的每個項目的重複。
但是在我onResume()
方法我有幾行代碼:
sa.removeAllItemsFromList();
sa.notifyDataSetChanged();
sa.removeAllItemsFromList()
是我的方法做這個:siteList.removeAll(siteList);
。非常簡單直接。所以問題是:爲什麼我得到一個重複的,我該如何解決它?
非常感謝您的評論。我會在未來測試它。雖然我仍然有一個問題。爲什麼不'removeAllItemsFromList()'工作?它不是應該刪除所有的元素,而是創建新的元素嗎? – Vendetta8247
你可以調用'siteList.clear()' –
謝謝你的建議,雖然在我的情況下它沒有工作。我完全不知道爲什麼。我在我的應用程序中重新安排了活動週期,現在它似乎正常工作。再次感謝您的建議。他們很有幫助 – Vendetta8247