我有一个Fragment,在onActivityCreated中,我检查是否使用isShown()方法显示或不显示fragment的rootView。虽然显示了布局,但这一行返回false
Log.d(TAG, "is rootView isShown: " + rootView.isShown());码
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// TODO Auto-generated method stub
Log.w(TAG, "@onCreateView()");
rootView = inflater.inflate(R.layout.mqtt_fragment, container, false);
initModeChooseViews(rootView);
return rootView;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub
Log.w(TAG, "@onActivityCreated()");
super.onActivityCreated(savedInstanceState);
Log.d(TAG, "is rootView Shown: " + rootView.isShown());
}发布于 2015-01-21 13:44:13
在OnResume()中调用它,因为isShown()返回此视图及其所有祖先的可见性。如果此视图及其所有祖先都可见,则返回True
从阅读开始,如果您有与此相关的视图的setVisibility,则返回false,因此请检查是否切换了相关视图的可见性,或者在简历上的所有内容都可见时调用它。
发布于 2015-01-21 13:54:19
你检查能见度太早了。在onActivityCreated方法中,片段的视图还不可见。片段视图由于片段的onStart而变得可见。因此,检查onStart方法中的可见性(或onStart之后的任何其他位置)。
https://stackoverflow.com/questions/28068263
复制相似问题