我的绑定工作正常,但在屏幕旋转后我松散绑定。
在OnCreateView中我尝试按标签恢复片段,如果FindFragmentByTag返回null我创建一个这样的新实例:
protected virtual TFragmentType PutFragment<TFragmentType, TViewModelType>(int oldId, TViewModelType vm)
where TFragmentType : FragmentBase, new()
where TViewModelType : IViewModelBase
{
var tag = typeof(TFragmentType).FullName;
var fragment = SupportFragmentManager.FindFragmentByTag(tag) as TFragmentType;
if (fragment == null)
{
fragment = new TFragmentType() { ViewModel = vm };
SupportFragmentManager.BeginTransaction().Replace(oldId, fragment, tag).Commit();
fragment.RetainInstance = true;
}
return fragment;
}
当GetFragmentByTag返回一些东西时出现问题(在我的情况下,在sctreen旋转之后)。
截图
轮换前:
Normal http://i58.tinypic.com/2j3sd2u.jpg
后:
Empty http://i60.tinypic.com/jz8s8w.jpg
提前谢谢。
答案 0 :(得分:7)
谢谢你们,我指定了#34; ConfigurationChanges&#34;在活动属性
中[Activity (ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.ScreenSize | ConfigChanges.KeyboardHidden)]
现在工作正常
答案 1 :(得分:2)
(ConfigurationChanges = ConfigChanges.Orientation)就够了;