いくつかのハウツーに従いましたが、非推奨のため
使用方法が わかりません。addPreferencesFromResource(R.xml.preferences)
最善の方法はを使用することfragment
ですが、フラグメントは 3.0 以降でのみ使用できます。Android バージョン 2.x で行う必要があります。
私はどちらの道をたどりますか?
いくつかのハウツーに従いましたが、非推奨のため
使用方法が わかりません。addPreferencesFromResource(R.xml.preferences)
最善の方法はを使用することfragment
ですが、フラグメントは 3.0 以降でのみ使用できます。Android バージョン 2.x で行う必要があります。
私はどちらの道をたどりますか?
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 以下で使用します。このコードの元となった完全なサンプル プロジェクトを次に示します。