Ich habe eine Blog-App und ich habe eine harte Zeit mit meinem PostFragment.Fragment/Aktivität Info-Austausch
Wenn der Benutzer einen Beitrag veröffentlicht, kann er ein Gefühl auswählen, indem er auf eine Schaltfläche klickt, die ihn zu einem anderen Fragment mit der Gefühlsliste führt. Sobald er das Gefühl ausgewählt hat, rufe ich popBackStack() auf, um ihn zum vorherigen Bildschirm zu bringen.
Da ich seine Auswahl auf dem PostFragment anzeigen muss, speichere ich diesen Wert in der Aktivität (ich sah diese Technik hier in SO). Dies ist die selectedFeeling Variable Aktivität:
public class FeedActivity extends BaseActivity {
Intent intent;
Post post;
private Feeling selectedFeeling;
@Override
protected void onCreate(Bundle savedInstanceState){
...
Und der Hörer auf FeelingsFragment:
private AdapterView.OnItemClickListener onGridViewItemClick() {
return new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Feeling selected = feelings.get(position);
((FeedActivity)getActivity()).setSelectedFeeling(selected);
getActivity().getSupportFragmentManager().popBackStack();
}
};
}
Es ist alles ganz gut funktioniert: User tippt die Gefühle Taste, geht an FeelingsFragment, wählt das Gefühl, ich spare es auf die Aktivität, ruft popBackStack() und auf der onResume Methode das ausgewählte Gefühl in meinem PostFragment anzuzeigen:
@Override
public void onResume() {
super.onResume();
selectedFeeling = ((FeedActivity)getActivity()).getSelectedFeeling();
if(selectedFeeling != null){
selectedFeelingTv.setText(getString(R.string.selected_feeling) + selectedFeeling.getFeeling());
}
}
Mein Problem ist, dass der Benutzer auch eine auswählen kann Foto aus der Galerie und wenn er das macht, stellt sich heraus, dass mein ausgewähltes Gefühl null ist. Ich denke, dass das passiert, weil die Aktivität, in der ich es speichere, neu gestartet wird, also wie kann ich diese Daten beibehalten?
Versuchen Sie 'onAttach', nicht' onResume' –
Mögliche Duplikate von [Saving Android Activity-Status mit Save Instance State] (http://stackoverflow.com/questions/151777/saving-android-activity-state-using-save) -instance-state) –
Es hat nicht so gut funktioniert. Mit onAttach wurde das gewählte Gefühl nie angezeigt. – Rob