Открытие списка предпочтений в диалоге, без открытия действия - PullRequest
0 голосов
/ 24 января 2020

В моем пункте меню на панели навигации у меня есть

  case R.id.nav_manage:
        // Handle the tools action (for now display a toast).
        drawer.closeDrawer(GravityCompat.START);
        Intent intentSetting = new Intent(this, SettingsActivity.class);
        startActivity(intentSetting);
        return true;

, где SettingsActivity равно

public class SettingsActivity extends AppCompatActivity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_settings);
    getSupportFragmentManager()
        .beginTransaction()
        .replace(R.id.settings, new SettingsFragment())
        .commit();
    ActionBar actionBar = getSupportActionBar();
    if (actionBar != null) {
      actionBar.setDisplayHomeAsUpEnabled(true);
    }
  }

  public static class SettingsFragment extends PreferenceFragmentCompat {
    @Override
    public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
      setPreferencesFromResource(R.xml.root_preferences, rootKey);
    }
  }

Теперь это activity settings layout равно

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:id="@+id/settings"
      android:layout_width="match_parent"
      android:layout_height="match_parent" />

, а root_preference.xml - это

<PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto">
  <PreferenceCategory app:title="Theme">
    <ListPreference
        app:defaultValue="default"
        app:entries="@array/themes_labels"
        app:entryValues="@array/themes_color"
        app:key="theme"
        app:title="@string/Theme"
        app:useSimpleSummaryProvider="true" />
  </PreferenceCategory>
</PreferenceScreen>

Проблема заключается в том, что для этого единственного списка предпочтений сначала я открываю действие, затем со вторым щелчком я открываю диалоговое окно для предпочтения списка.

Я хочу открыть диалоговое окно напрямую, когда я нажимаю на меню навигационной панели, т. Е. Из R.id.nav_manage, не открывая сначала действие.

Я не знаю java, поэтому, пожалуйста, помощь.

...