В упражнении onResume
метод я вызываю запрос залпа, который получает список элементов, а затем загружает их в ListFragment внутри этого действия. Когда я вхожу в действие в первый раз, все работает правильно, но когда я снова вхожу в действие, ListFragment пуст и в консоли появляется сообщение «FragmentManager был уничтожен».
Это код моей активности:
@Override
protected void onResume() {
super.onResume();
// Volley request inside - which call back albumsFoundViewUpdate
artistController.getArtistAlbums(artist);
}
public void albumsFoundViewUpdate(ArrayList<UserAlbumLink> links)
{
// Load list fragment
UserAlbumLinkListFragment fragment = new UserAlbumLinkListFragment(links, artist);
getSupportFragmentManager().beginTransaction().replace(R.id.artist_activity__albums_container, fragment).commit();
}
Исключение выдается в операторе commit ().
Мой код ListFragment:
public class UserAlbumLinkListFragment extends ListFragment {
private List<UserAlbumLink> albumLinks;
private UserAlbumLinkListAdapter adapter;
private Artist artist;
public UserAlbumLinkListFragment() {
}
public UserAlbumLinkListFragment(List<UserAlbumLink> albumLinks, Artist artist) {
this.albumLinks = albumLinks;
this.artist = artist;
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
adapter = new UserAlbumLinkListAdapter(getActivity(), R.layout.album_list_item, albumLinks, artist);
setListAdapter(adapter);
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_album_list, container, false);
}
}
Как я понимаю, FragmentManager уничтожается, когда действие уничтожается, но как получить новый FragmentManager для воссозданной деятельности? Почему getSupportFragmentManager () не работает?