У меня есть действие, которое открывает PreferenceScreen. Когда я нажимаю «назад», я ожидаю, что экран настроек будет закрыт, и я вернусь к действию, но вместо этого текущее действие закрывается, и я возвращаюсь к предыдущему действию. Как я могу это исправить?
public class MyActivity extends Activity {
//....
@Override
public boolean onOptionsItemSelected(MenuItem item) {
return (new Helper()).onOptionsItemSelected_menu(item,this,mFragmentManager);
}
}
public class Helper {
// ....
public boolean onOptionsItemSelected_menu(MenuItem item, Activity activity, FragmentManager mFragmentManager)
{
switch (item.getItemId()) {
case R.id.action_settings:
MenuHelper.settings(activity, mFragmentManager);
return true;
default:
return onOptionsItemSelected_menu(item, activity, mFragmentManager);
}
}
public static void settings(Activity activity, FragmentManager mFragmentManager) {
FragmentTransaction mFragmentTransaction = mFragmentManager
.beginTransaction();
PrefsFragment mPrefsFragment = new PrefsFragment(activity);
mFragmentTransaction.replace(android.R.id.content, mPrefsFragment);
mFragmentTransaction.commit();
}
public static class PrefsFragment extends PreferenceFragment {
Activity m_activity;
public PrefsFragment(Activity activity)
{
m_activity = activity;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
}