0
的狀態,我有一個列表中的片段:如何保存片段
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();
}
}
}
當您點擊我創建一個新片段客戶和老片段項目放置在堆棧中。 當我在一個新的片段中,然後單擊返回按鈕打開片段GuestsList,它位於backstack中,並再次從Internet下載數據。我希望在創建新片段時保存它們,並且在單擊後退按鈕時重新加載。
也許這可以幫到你: http://stackoverflow.com/questions/17252236/how-to-persist-fragment-data-after-backstack-transactions – manao 2014-10-27 08:34:33