Я ищу несколько советов о том, как лучше всего обрабатывать фрагменты, которые запускают другие фрагменты.
Я конвертирую приложение, которое я начал писать, используя подход, основанный на деятельности, и с тех пор начал переводить его на использование фрагментов. У меня есть некоторые фрагменты, которые использовались для запуска нового действия, и я хочу переместить их для запуска других фрагментов в том же представлении, в котором находится текущий фрагмент.
Например, у меня есть Activity, в котором есть WebView, который использует WebViewClient
для обработки внутренних взаимодействий js-> java. Мой WebViewClient может запускать другие действия, которые я использовал:
i = new Intent(context, GoogleMapActivity.class);
startActivity(i);
Эта активность веб-просмотра может быть либо полноэкранной, либо в представлении с меню сбоку, но я хочу, чтобы веб-просмотр учитывал макет, поэтому, если меню присутствует, оно должно оставаться присутствующим при запуске новых фрагментов - я просто не знаю лучший подход к написанию кода, запускающего фрагменты.
Итак... есть ли способ внутри Фрагмента, по существу, сказать, что новый Фрагмент загружается в то же пространство, что и текущий Фрагмент, или нужно какое-то взаимодействие с Активностью?
** РЕДАКТИРОВАТЬ **
Учитывая, что есть несколько разных макетов, которые можно использовать, я не всегда знаю, на какой идентификатор мне следует ориентироваться, чтобы поместить фрагмент, поэтому мне нужно знать, есть ли способ сделать это, не зная идентификатора (как в например, метод replace
).