Можно ли использовать фрагмент как MvpView внутри Activity, используя Mosby
Можно ли использовать фрагмент как MvpView внутри Activity, используя Mosby?
Например, это урезанная версия TaskDetailActivity в проекте Google todo-mvp-dagger:
public class TaskDetailActivity extends AppCompatActivity {
public static final String EXTRA_TASK_ID = "TASK_ID";
@Inject TaskDetailPresenter mTaskDetailPresenter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.taskdetail_act);
// Get the requested task id
String taskId = getIntent().getStringExtra(EXTRA_TASK_ID);
TaskDetailFragment taskDetailFragment = (TaskDetailFragment) getSupportFragmentManager()
.findFragmentById(R.id.contentFrame);
if (taskDetailFragment == null) {
taskDetailFragment = TaskDetailFragment.newInstance(taskId);
ActivityUtils.addFragmentToActivity(getSupportFragmentManager(),
taskDetailFragment, R.id.contentFrame);
}
// Create the presenter
DaggerTaskDetailComponent.builder()
.taskDetailPresenterModule(new TaskDetailPresenterModule(taskDetailFragment, taskId))
.tasksRepositoryComponent(((ToDoApplication) getApplication())
.getTasksRepositoryComponent()).build()
.inject(this);
}
...
}
В примере кода фрагмент передается в TaskDetailPresenterModule в качестве экземпляра представления. Возможно ли это с помощью Mosby, и если да, то это хорошая практика? Можем ли мы поместить нашего докладчика в Activity и использовать фрагмент вместо Activity в качестве MvpView?
Я спрашиваю об этом, потому что мне также интересно, как Мосби обрабатывает активность с несколькими фрагментами внутри.
Спасибо за вашу помощь.