我有一个片段,当我点击片段按钮时,一个基本活动将打开,基本活动包含三个片段格式的片段。根据活动标签按钮点击片段将会改变。现在我在基本活动中调用api并将响应值存储在临时类
中public class ListTempStorage {
private static final ListTempStorage myInstance = new ListTempStorage();
private List<MyListOne> listOne = new ArrayList<>();
private List<MyListOne> listTwo = new ArrayList<>();
private ListTempStorage() {
}
public static ListTempStorage getInstance() {
return myInstance;
}
public List<MyListOne> getListOne() {
return listOne;
}
public void setList(List<MyListOne> list) {
this.listOne = listOne;
}
public void setListTwo(List<MyListOne> listTwo) {
this.listTwo = listTwo;
}
public List<MyListOne> getListTwo() {
return listTwo;
}
}
在我的片段中,我调用此列表并填充这些列表值。
if (clicked == "butOne") {
List<MyListOne> listOne = ListTempStorage.getInstance().getListOne();
if (listOne != null && listOne.size() > 0) {
populateLayout(listOne);
}
}
if (clicked == "butTwo") {
List<MyListOne> listTwo = ListTempStorage.getInstance().getListTwo();
if (listTwo != null && listTwo.size() > 0) {
populateLayout(listTwo);
}
}
问题是第一次填充列表,但如果我根据我的过滤条件更改片段,有时我会得到旧的列表值,而不是更新。我认为那里会发生一些内存泄漏。