如何在ViewPager中隐藏SearchFragment
并显示ChatFragment
,而不显示remove()
?我每次创建新实例都没有问题,但我不希望onDestroy()
有位置,因为我会非常频繁地切换这两个视图。我想创建它们一次,并且能够show/hide
一个用于另一个。
我的代码正在同时在fragment_search
(id cointainer)中看到两个视图,然后崩溃。
我正在考虑在开始时创建两个片段,然后通过附加和分离来操作它们,但我无法理解这一点,因为ViewPager不会让它变得更容易
public Fragment getItem(int position) {
switch (position) {
case 0:
if (fragment1 == null)
{
fragment1 = SearchFragment.newInstance(new SearchFragment.MyListener() {
@Override
public void onChatFound() {
// Dont want to remove fragment, just hide this view || fm.beginTransaction().remove(fragment1).commit();
Fragment chatTag = fm.findFragmentByTag("ChatTag");
if (chatTag == null)
{
chatFragment = ChatFragment.newInstance();
fm.beginTransaction().add(R.id.fragment_search, chatFragment, "ChatTag").commit();
}
fragment1 = chatTag;
notifyDataSetChanged();
}
});
}
return fragment1;