Когда вы нажимаете кнопку OK
в Activity2(fragment4)
, просто введите запись в sharedPreference
перед вызовом Activity1
намерения, как это:
SharedPreferences.Editor editor = sharedpreferences.edit();
editor.putString(key, "1");
editor.commit();
, затем позвоните вашему Activity1
:
Intent Activity1 = new Intent(getActivity(), Activity1.class);
startActivity(Activity1);
Теперь в вашем Activity1
, перед настройкой просмотра содержимого, просто проверьте общее предпочтение, если в нем хранится переменная key
со значением 1
.Если оно содержит значение 1
, загрузите фрагмент2 в макете кадра frm
.Например:
sharedPreferences = getActivity().getSharedPreferences(mypreference, Context.MODE_PRIVATE);
if (sharedPreferences.contains(city)) {
FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.frm,new fragment2()).addToBackStack(null).commit();
}
Когда это действие вызывается обычным образом, общее предпочтение не будет иметь значения 1
в key
, поэтому фрагмент1 будет загружен как обычный поток.
Теперь, когда вы переходите к следующему фрагменту отсюда, просто сохраняйте переменную 0
в key
в общих настройках.Это можно сделать методом onDetach()
из fragment2
Также, чтобы вернуться к фрагменту 1, вы можете следовать этому ответу для более подробного решения.