Как изменить весь вид фрагмента с другим фрагментом!Как изменить текущий фрагмент с другим фрагментом
Или как закрыть текущий фрагмент с другим фрагментом, пожалуйста, объясните, с макетом также
Спасибо заранее ...
Как изменить весь вид фрагмента с другим фрагментом!Как изменить текущий фрагмент с другим фрагментом
Или как закрыть текущий фрагмент с другим фрагментом, пожалуйста, объясните, с макетом также
Спасибо заранее ...
getSupportFragmentManager().beginTransaction().replace(R.id.fragmentlayout,new fragment()).commit()
Это поможет вам заменить существующий фрагмент в связи с идентификатором FragmentLayout с new fragment()
.
Спасибо, надеюсь, это было полезно.
Вы можете добавлять или заменять фрагменты в своей деятельности. Создание FrameLayout
в рабочем месте: xml
.
Затем сделайте это в своей деятельности до замените фрагмент. Вы можете использовать один и тот же код каждый раз, когда хотите заменить один фрагмент другим.
FragmentManager manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.add(R.id.container,YOUR_FRAGMENT_NAME,YOUR_FRAGMENT_STRING_TAG);
transaction.addToBackStack(null);
transaction.commit();
Если вы хотите добавить фрагмент вместо замены, то сделать это:
FragmentManager manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.replace(R.id.container,YOUR_FRAGMENT_NAME,YOUR_FRAGMENT_STRING_TAG);
transaction.addToBackStack(null);
transaction.commit();
Если вы хотите заменить добавленный frogment с ану другого фрагмента, то вы должны удалить предыдущий фрагмент первой (или вы можете скрыть предыдущий фрагмент, в зависимости от вашего требования). Смотрите следующий код:
Fragment fragment = getSupportFragmentManager().findFragmentByTag(YOUR_FRAGMENT_STRING_TAG);
if(fragment != null)
getSupportFragmentManager().beginTransaction().remove(fragment).commit();
См следующие связанные вопросы по SO:
Difference between add(), replace(), and addToBackStack()
Basic difference between add() and replace() method of Fragment
Difference between add() & replace() with Fragment's lifecycle
Или увидеть мой ответ на аналогичный вопрос:
Сначала вы берете один фреймейл в своей деятельности, где вы добавляете фрагмент.
FragmentManager manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.add(R.id.framelayout,fragment_1);
transaction.addToBackStack(null);
transaction.commit();
При замене первого фрагмента со вторым, который вы пишете, просто изменить fragment_1 к fragment_2
FragmentManager manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.add(R.id.framelayout,fragment_2);
transaction.addToBackStack(null);
transaction.commit();
Google это первое, имеется п число обучающих программ. –
Я голосую, чтобы закрыть этот вопрос как вне темы, потому что OP даже не потрудился провести минимальные исследования в Google. –