android.preference.PreferenceScreen#onItemClick ( )源码实例Demo

下面列出了android.preference.PreferenceScreen#onItemClick ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: tickmate   文件: GroupPreferenceFragment.java
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Load the preferences from an XML resource
    addPreferencesFromResource(R.xml.group_preferences);

    group_id = getArguments().getInt("group_id");
    mOpenTrackList = getArguments().getBoolean("openTrackList");
    group = DataSource.getInstance().getGroup(group_id);
    loadGroup();
    // openTrackList indicates that this preference was created for the purpose of immediately
    //   opening up the track multi-select list
    if (mOpenTrackList) {
        PreferenceScreen screen = (PreferenceScreen) findPreference("group_preference_screen");
        int tracksPrefPosition = findPreference("tracks").getOrder();
        // make the tracks multi-select preference open up
        screen.onItemClick( null, null, tracksPrefPosition, 0 );
    }
}
 
源代码2 项目: WhereYouGo   文件: XmlSettingsActivity.java
@Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setTitle(R.string.settings);

      needRestart = false;

/* workaround: I don't really know why I cannot call CustomActivity.customOnCreate(this); - OMG! */
      switch (Preferences.APPEARANCE_FONT_SIZE) {
          case PreferenceValues.VALUE_FONT_SIZE_SMALL:
              this.setTheme(R.style.FontSizeSmall);
              break;
          case PreferenceValues.VALUE_FONT_SIZE_MEDIUM:
              this.setTheme(R.style.FontSizeMedium);
              break;
          case PreferenceValues.VALUE_FONT_SIZE_LARGE:
              this.setTheme(R.style.FontSizeLarge);
              break;
      }

/*
       *
 */
      addPreferencesFromResource(R.xml.whereyougo_preferences);
      PreferenceManager.getDefaultSharedPreferences(this).registerOnSharedPreferenceChangeListener(this);

/*
 * Remove internal preferences
 */
      Preference somePreference = findPreference(R.string.pref_KEY_X_HIDDEN_PREFERENCES);
      PreferenceScreen preferenceScreen = getPreferenceScreen();
      preferenceScreen.removePreference(somePreference);

/*
       * Register OnClick handler
 */
      Preference preferenceRoot = findPreference(R.string.pref_KEY_S_ROOT);
      preferenceRoot.setOnPreferenceClickListener(this);

      Preference preferenceAbout = findPreference(R.string.pref_KEY_X_ABOUT);
      if (preferenceAbout != null) {
          preferenceAbout.setOnPreferenceClickListener(this);

      }

/*
       * Workaround: Update/set value preview
 */
      // String dir = Preferences.getStringPreference( R.string.pref_KEY_S_ROOT );
      // x.setSummary( "(" + dir + ") " + Locale.getString( R.string.pref_root_desc ) ); // TODO make it better :-(

/* TODO - check this code */
      if (!Utils.isAndroid201OrMore()) {
          Preference prefSensorFilter = findPreference(R.string.pref_KEY_S_SENSORS_ORIENT_FILTER);
          if (prefSensorFilter != null) {
              prefSensorFilter.setEnabled(false);
          }
      }

      if (getIntent() != null && getIntent().hasExtra(getString(R.string.pref_KEY_X_LOGIN_PREFERENCES))) {
          Preference preferenceLogin = findPreference(R.string.pref_KEY_X_LOGIN_PREFERENCES);
          if (preferenceLogin != null) {
              PreferenceScreen screen = getPreferenceScreen();
              for (int i = 0; i < screen.getPreferenceCount(); ++i) {
                  if (screen.getPreference(i) == preferenceLogin) {
                      getIntent().putExtra(getString(R.string.pref_KEY_X_LOGIN_PREFERENCES), false);
                      screen.onItemClick(null, null, i, 0);
                      break;
                  }
              }
          }
      }

      /*
       * Enable/disable status bar propertie
       */
      if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
          CheckBoxPreference status_bar = (CheckBoxPreference) findPreference(R.string.pref_KEY_B_STATUSBAR);
          CheckBoxPreference gps_hide = (CheckBoxPreference) findPreference(R.string.pref_KEY_B_GPS_DISABLE_WHEN_HIDE);
          CheckBoxPreference gps_guiding = (CheckBoxPreference) findPreference(R.string.pref_KEY_B_GUIDING_GPS_REQUIRED);
          if (gps_hide.isChecked()) {
              status_bar.setEnabled(!gps_guiding.isChecked());
          } else {
              status_bar.setEnabled(false);
          }
      }
  }