Рассмотрим следующие шаги:
От Activity
1 удерживающие Fragment
А, вы хотите для прямой загрузки Fragment
B в Activity
2.
Теперь, я думаю сначала, затем вы нажимаете кнопку в Fragment A
, вы можете прямо перейти на Activity B
.
Тогда это означает, что вы можете просто загрузить Fragment B
как только вы приедете в Activity
2.
Поскольку вы имеете дело с задней навигацией (? Я полагаю, вы имеете в виду upNavigation
), вы можете изменить следующее:
Но ясно смотреть, потому что, если вам необходимо загрузить точный фрагмент в деятельности 2, вы должны знать, как-то:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Intent intent = new Intent(this, Activity2.class);
intent.putExtra("frag", "fragmentB");
startActivity(intent);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
Как вы можете видеть, когда вы нажимаете на стрелку на панели инструментов, мы переходим ценность благодаря нашему намерению идентифицировать фрагмент, который мы хотим загрузить.
Далее в вашем Activity2
, просто получить intent extra
и сделать переключатель или if statement
:
@Override
public void onResume(){
super.onResume();
Intent intent = getIntent();
String frag = intent.getExtras().getString("frag");
switch(frag){
case "fragmentB":
//here you can set Fragment B to your activity as usual;
fragmentManager.beginTransaction().replace(R.id.container_body, new FragmentB()).commit();
break;
}
}
здесь, вы должны иметь свой фрагмент В показе в деятельности 2.
Теперь вы можете обрабатывать то же самое, в то время как внутри действия 2 решать, куда идти, когда пользователь нажимает на стрелку домой!
Надеюсь, это поможет вам получить представление.
Примечание: Я думал о интерфейсном подходе и понял, что это не обязательно, так как это легко сделать с помощью этого подхода!
А фрагменты A и B занимают весь экран в их действиях? И это только фрагменты, которые показаны в этих действиях? – Marat
Вы пробовали код? –
Пробовали ли вы события или интерфейс/ – Eenvincible