Полагаю, вы имели в виду instance
.Каждый раз, когда вы переключаете фрагмент, вы создаете экземпляр new
и открываете его.Поэтому, чтобы прекратить это делать, вы должны сохранить первый экземпляр и передать его менеджеру фрагментов, когда захотите переключиться на него.
Например, давайте используем ваш ChatFragment
.
* 1007.* Вместо выражения switch вы помещаете объявление
ChatsFragment chatsfragment
в верхнюю часть
Activity
, так что это переменная всего экземпляра.Внутри вашего оператора switch вместо создания нового экземпляра каждый раз вы идете
case R.id.btnChats:
if(chatsFragment == null) chatsFragment = new ChatsFragment();
android.support.v4.app.FragmentManager manager1 = getSupportFragmentManager();
manager1.beginTransaction().replace(R.id.container, chatsFragment).commit();
return true;
Теперь вы перестраиваете фрагмент только один раз, когда он вызывается впервые.С этого момента старый экземпляр используется повторно.