我在app start的主片段中处理视图的.setVisibility()。 所以我想要的是视图在应用程序启动时是不可见的(为此我在onCreateView中设置了INVISIBLE)并且当我在应用程序打开时从其他活动回到我的片段时可见:为此我尝试使用onRestart()来设置 view VISIBLE但它无法解析onRestart方法) 是onRestart弃用还是? 感谢
编辑:对于以下所有建议使用onResume(并且给出了-1)的答案,onResume根本不能用作onRestart,原因是在onCreateView之后调用。< / p>
答案 0 :(得分:15)
片段没有onRestart()
。它仅适用于活动。
查看下面片段的生命周期
我想你正在寻找onResume()
而不是
使用布尔标志检查您是否返回片段:
private boolean firstVisit;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
//other stuff
firstVisit = true;
}
@Override
public void onResume() {
//other stuff
if (firstVisit) {
//do stuff for first visit only
firstVisit = false;
}
}
答案 1 :(得分:0)
如果要在返回片段时加载内容,可以使用onStart()
或onResume()
。
答案 2 :(得分:0)
您可以对活动使用onRestart()
,通过使用getFragmentManager().findFragmentById(R.id.your_fragment)
使其在片段上调用您想要的任何方法。
当一个片段重新启动时,它的底层活动重新启动,因此调用了它的onRestart()
方法。
答案 3 :(得分:-1)
如果您想要检测片段何时再次可见,则需要使用onResume()
回调方法
答案 4 :(得分:-1)
片段生命周期没有onRestart()
方法。您可以根据自己的要求使用onPause()
和onResume()
。
进一步阅读:Fragments