Я получил задание на создание приложения.На этапе экрана-заставки он получает инструкции получить список из SQLite, находясь на экране-заставке, и передать его фрагменту (я сделал это с помощью намерения).
Мой вопрос: почему бы его не получить?из фрагмента, вместо того, чтобы передавать его с экрана-заставки в основную деятельность, а оттуда во фрагмент?Это может показаться ненужным, если бы по какой-то причине это было мне неизвестно.
При поиске информации по этому вопросу я не смог ничего найти.Я предполагаю, что это не подходило ранее, или, по крайней мере, я не смог найти фразу, которая использовалась ранее.
Метод, который получает список и передает его в MainActivity:
private void toMainActivity(ArrayList<Movie> moviesList) {
Intent intent = new Intent(SplashActivity.this, MainActivity.class);
intent.putParcelableArrayListExtra("moviesList", moviesList);
startActivity(intent);
finish();
}
На MainActivity:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ArrayList<Movie> moviesList = this.getIntent().getParcelableArrayListExtra("moviesList");
Bundle listBundle = new Bundle();
listBundle.putParcelableArrayList("moviesList", moviesList);
Fragment mlf = new MoviesListFragment();
mlf.setArguments(listBundle);
ft = getSupportFragmentManager().beginTransaction();
ft.add(R.id.fragments_container, mlf);
ft.commit();
}
На фрагменте:
Bundle listBundle = getArguments();
if (listBundle != null) {
moviesList = getArguments().getParcelableArrayList("moviesList");
moviesAdapter.attachMoviesList(moviesList);
}