У меня есть фрагмент со списком:как сохранить состояние фрагмента
public class GuestsList extends Fragment implements AdapterView.OnItemClickListener {
private GuestsListAdapter adapter;
private FragmentTransaction fTrans;
private Fragment guestFragment;
private ArrayList<GuestBean> guests;
private ListView list;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.guestlist, null);
guests = new ArrayList<GuestBean>();
list = (ListView) v.findViewById(R.id.gustLIST);
adapter = new GuestsListAdapter(getActivity(), guests);
list.setOnItemClickListener(this);
new NewThread().execute();
return v;
}
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
fTrans = getFragmentManager().beginTransaction();
guestFragment = new Guest();
fTrans.replace(R.id.content_frame, guestFragment);
fTrans.addToBackStack(null);
fTrans.commit();
}
public class NewThread extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... strings) {
//load data to guests
}
@Override
protected void onPostExecute(String s) {
list.setAdapter(adapter);
progressDialog.cancel();
}
}
}
При нажатии на элемент я создаю новый фрагмент Гость и старый фрагмент были помещены в backstack. Когда я нахожусь в новом фрагменте и нажимаю кнопку «Назад», открывается фрагмент «ГостиList», который был в задней части экрана, и снова данные, загруженные из Интернета. Я хочу, чтобы они были сохранены при создании нового фрагмента, и когда вы нажимаете кнопку «Назад» для перезагрузки.
Возможно, это может вам помочь: http://stackoverflow.com/questions/17252236/how-to-persist-fragment-data-after-backstack-transactions – manao