如何使方法在用户从另一个片段返回到该片段后不再调用?
How to make method don't call again after user returned to this fragment from another?
我的片段(我们称之为 List
)中有一个方法(我们称之为 getData
),我在 onCreateView
中调用它。
此方法从服务器加载一些数据并将其放入某些视图。
在我的片段中,我有一个按钮可以打开另一个片段(我们称之为 Detail
),当我返回 List
onCreateView
再次调用并再次开始加载数据时。
我尝试将 getData
放入 onCreate
... 实际上它必须有效,并且不能再次调用 getData
...
但是 getData
与仅在 onCreateView 和 onCreateView
之后的其他方法中初始化的视图一起使用,并且当我从 return 到 List
时,所有这些方法总是回忆起 Detail
.
当我从 Detail
.
return 到 List
时,如何让我不记得 getData
对于我糟糕的英语和语法错误,我深表歉意。
谢谢。
首先通过 Ctrl+O 覆盖 onStop 方法
它看起来像这样
public class yourFragment extends Fragment{
boolean isReturned = false;
@Override
public void onStop() {
super.onStop();
isReturned = true;
}
public void getData(){
if(!isReturned){
//fetch data
}
}
我的片段(我们称之为 List
)中有一个方法(我们称之为 getData
),我在 onCreateView
中调用它。
此方法从服务器加载一些数据并将其放入某些视图。
在我的片段中,我有一个按钮可以打开另一个片段(我们称之为 Detail
),当我返回 List
onCreateView
再次调用并再次开始加载数据时。
我尝试将 getData
放入 onCreate
... 实际上它必须有效,并且不能再次调用 getData
...
但是 getData
与仅在 onCreateView 和 onCreateView
之后的其他方法中初始化的视图一起使用,并且当我从 return 到 List
时,所有这些方法总是回忆起 Detail
.
当我从 Detail
.
List
时,如何让我不记得 getData
对于我糟糕的英语和语法错误,我深表歉意。 谢谢。
首先通过 Ctrl+O 覆盖 onStop 方法 它看起来像这样
public class yourFragment extends Fragment{
boolean isReturned = false;
@Override
public void onStop() {
super.onStop();
isReturned = true;
}
public void getData(){
if(!isReturned){
//fetch data
}
}