При повороте экрана нужно сохранить AsyncTask
Метод onRetainNonConfigurationInstance устарел, что использовать вместо него ?
Рекомендуют Fragment#setRetainInstance(true), но я не использую фрагменты и не понимаю как с помощью этого сохранить объект, примеров нагуглить тоже не могу..
Денис Загаевский: Там же работа с фрагментом, как я понял нужно унаследовать Fragment и только объект этого класса можно будет сохранить, а у меня наследует AsyncTask, как тут быть?
Можно было бы вообще создать еще 1 класс наследующий fragment и через него работать с моим классом который наследует AsyncTask, но что-то это как-то странно по моему, что тут можно сделать?
public class RetainedFragment extends Fragment {
// data object we want to retain
private MyDataObject data;
// this method is only called once for this fragment
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// retain this fragment
setRetainInstance(true);
}
public void setData(MyDataObject data) {
this.data = data;
}
public MyDataObject getData() {
return data;
}
}
Я что то не пойму, когда он устарел. Просто не рекомендуется использовать onRetaineNonConfigurationInstance на прямую его переопределяя, а использовать onRetainCustomNonConfigurationInstance и будет вам счастье. А получать сохраненный объект через getLastCustomNonConfigurationInstance(). Я не понимаю, почиму так сложно читать официальную документацию? Или дайте прув, где написано, что это все устарело или deprecated?