【发布时间】:2014-10-27 08:26:04
【问题描述】:
我有一个带有列表的片段:
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();
}
}
}
当您单击一个项目时,我创建了一个新片段 Guest 和旧片段被放置在 backstack 中。 当我在一个新片段中并单击后退按钮时,将打开位于 backstack 中的片段GuestList,并再次从 Internet 下载数据。我希望在创建新片段时保存它们,并且当您单击后退按钮重新加载时发生。
【问题讨论】:
标签: android