7

いくつかのハウツーに従いましたが、非推奨のため
使用方法が わかりません。addPreferencesFromResource(R.xml.preferences)

最善の方法はを使用することfragmentですが、フラグメントは 3.0 以降でのみ使用できます。Android バージョン 2.x で行う必要があります。

私はどちらの道をたどりますか?

4

1 に答える 1

4

Android では、「非推奨」とは「検討すべき別の解決策がある」ことを意味します。特にこのような場合はaddPreferencesFromResource()、Android 2.x で使用するしかありませんonBuildHeaders()(API レベル 11+ で使用されているアプローチ) は存在しません。

次の両方をサポートするコードを作成できます。

public class EditPreferences extends SherlockPreferenceActivity {
  @SuppressWarnings("deprecation")
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    if (Build.VERSION.SDK_INT<Build.VERSION_CODES.HONEYCOMB) {
      addPreferencesFromResource(R.xml.preferences);
      addPreferencesFromResource(R.xml.preferences2);
    }
  }

  @Override
  public void onBuildHeaders(List<Header> target) {
    loadHeadersFromResource(R.xml.preference_headers, target);
  }
}

ここではonBuildHeaders()、API レベル 11+ およびaddPreferencesFromResource()API レベル 10 以下で使用します。このコードの元となった完全なサンプル プロジェクトを次に示します。

于 2012-11-19T13:44:58.537 に答える