我有一个带有ViewPager的TabLayout。当我在ViewPager中交换其中一个片段时,我通过调用NotifyDataSetChanged来通知ViewPager,如Update ViewPager dynamically?中所示。基本上,我在我要销毁的片段中设置一个变量,告诉它在下次调用GetItemPosition时返回POSITION_NONE。然后我在适配器上调用notifyDataSetChanged()。
这很有效。但它也会破坏自定义标签标题视图。我一直在设置它们:[通过Xamarin的C#代码]
Eigen::Matrix<ptrdiff_t,num+1,1> ctEig = Eigen::Matrix<ptrdiff_t,num+1,1>::Constant(1);
integer_1d_array ct;
ct.setlength(num+1); // <-- I assume this line is redundant
ct.setcontent(num+1, ctEig.data());
当我在适配器上调用NotifyDataSetChanged()时,这些自定义布局会丢失。当然,我可以缓存视图并再次设置它们。我需要这样做吗?或者有更好的方法吗?