У меня есть TabLayout
с тремя фрагментами, на первой вкладке я хочу переключиться между двумя фрагментами в зависимости от условия, я использовал оператор if, но все же фрагменты не переключают его, сохраняя его начальный фрагмент. Ниже приведен пример сценария и фрагмент кода того, что вы делаете.Перезагрузка Активность для повторного переключения между фрагментами
МОЕ приложение позволяет пользователю решить, если они должны войти в систему при первом использовании или нет, и моя основная деятельность является пусковая, основным видом деятельности (в Содержащ TabLayout
и три Fragment
) адаптер проверяет, если пользователь вошел в систему или нет ,
if (user != login) {
load fragment A
}else{
load fragment B
}
У меня есть возможность где-то, где пользователь может войти в то время как с помощью приложения, , если пользователь нажимает на кнопку входа, он загружает fragement для пользователя, чтобы войти в систему, когда пользователь вошел в систему, фрагмент все еще сохраняют состояние пользователя, не зарегистрированное, т.е. его по-прежнему загружаемое фрагмент A, но затем я могу видеть все данные для входа в систему в приложении.
этот момент все еще активна
if (user != login) {
load fragment A
}
Код сниппета
@Override
public Fragment getItem(int position) {
Fragment f;
switch (position) {
case NEWS_POST:
if(fbid != null){
f = new NewsFragment();
}else{
f = new NewsAllFragment();
}
просьба предоставить более подробную информацию, ваш вопрос является неполным –
Добавить немного больше кода, ту часть, где вы используете '' FragmentManager' для добавления/replace' ток 'Fragment'. Также добавьте контрольные точки, в которых вы инициализируете 'NewsFragment' и' NewsAllFragment', чтобы проверить, действительно ли он вызывается. – Abbas
Вы должны хранить логический логический или какой-либо ключ в своем предпочтении, чтобы проверить, хотите ли вы узнать, вошел ли пользователь в систему или нет. – Eenvincible