Настройки Действия, щелчок навигации по панели действий не выполняется с вложенными настройками. - PullRequest
0 голосов
/ 03 февраля 2019

У меня есть следующее в моей настройке активности

public class SettingsActivity extends AppCompatPreferenceActivity {

   @Override
   protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     ActionBar actionBar = getSupportActionBar();
     if (actionBar != null) {
        // Show the Up button in the action bar.
        actionBar.setDisplayHomeAsUpEnabled(true);
    }
   }


    //NESTED PREFERENCE
      @TargetApi(Build.VERSION_CODES.HONEYCOMB)
   public static class GeneralPreferenceFragment extends PreferenceFragment {

     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();
        if (id == android.R.id.home) {
            startActivity(new Intent(getActivity(), SettingsActivity.class));
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

   }

}

Во вложенных предпочтениях Общее предпочтение, нажав стрелку назад, возвращает один к настройкам. Активность

Теперь в настройках активности я хотел бы добавитьсписок щелчков назад, чтобы перенаправить на приборную панель.Я добавил

public class SettingsActivity extends ...{

           @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();
        if (id == android.R.id.home) {
             startActivity(new Intent(this, DashboardActivity.class));
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

 }

Это перенаправляет на панель инструментов, но портит вложенный фрагмент предпочтений, поскольку он также перенаправляет на панель управления

Как мне отделить два события home-click, чтобы при щелчке по нимна общем предпочтении он открывает действие настроек, но при работе с настройками должен открывать действие панели инструментов

...