У меня есть MainActivity и фрагмент. То, что я хочу сделать, это передать массив из моей основной активности в мой фрагмент.Как передать ArrayList из Activity в Fragment в Android
В моем MainActivity мой код выглядит следующим образом:
private final List<RestaurantParcelableModel> restaurantList = new ArrayList<>();
...
RestaurantsFragment restaurantsFragment = new RestaurantsFragment();
Bundle args = new Bundle();
args.putParcelableArrayList("restaurantList", (ArrayList<? extends Parcelable>) restaurantList);
restaurantsFragment.setArguments(args);
FragmentManager fragmentManager = getFragmentManager();
android.app.FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.restaurants_list, restaurantsFragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
Сейчас я получаю эту ошибку в fragmentTransaction.replace (R.id.restaurants_list, restaurantsFragment); - "Неверный тип второго аргумента. Найдено: 'com.test.restaurants.sliderfragments.RestaurantsFragment', required: 'android.app.Fragment' replace (int, android.app.Fragment) в FragmentTransaction не может быть применен to (ИНТ, com.test.restaurants.sliderfragments.RestaurantsFragment) "
Является ли ваш '' RestaurantsFragment' расширения Fragment' правильно? – raxelsson
Также убедитесь, что 'RestaurantParcelableModel' реализует' Parcelable'. Потому что такой тип литья - '(ArrayList Extends Parcelable>) restaurantList' - это тихая опасность. –
и Фрагменты с использованием import 'android.app.Fragment #' ?? – Sanoop