का उपयोग कर प्राथमिकता स्क्रीन ActionBarSherlock
का उपयोग कर एक एंड्रॉइड एप्लिकेशन कर रहा हूं। मेरी समस्या वरीयता स्क्रीन बनाने के लिए है। onBuildHeader()
SherlockPreferenceActivity
कक्षा पर विधि को नेवर कहा जाता है।एक्शनबार शेरलॉक
यह मेरा कोड
preference_headers.xml है
<preference-headers xmlns:android="http://schemas.android.com/apk/res/android" >
<header
android:fragment="package.fragments.MyPreferenceFragment"
android:icon="@drawable/bulle"
android:summary="An example of some preferences."
android:title="title" />
</preference-headers>
preferences.xml
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:title="@string/options" >
<PreferenceCategory>
<SwitchPreference
android:id="@+id/cb_notif"
android:defaultValue="false"
android:key="com.vincent.HTC_Dev.pref.notif"
android:summaryOff="@string/notifications_off"
android:summaryOn="@string/notifications_on"
android:title="@string/notifications" />
</PreferenceCategory>
</PreferenceScreen>
MyPreferenceActivity
public class MyPreferenceActivity extends SherlockPreferenceActivity {
@Override
public void onBuildHeaders(List<Header> target) {
super.onBuildHeaders(target);
loadHeadersFromResource(R.xml.preference_headers, target);
}
}
MyPreferenceFragment
public class MyPreferenceFragment extends PreferenceFragment implements OnSharedPreferenceChangeListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
}
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
String key) {
// TODO Auto-generated method stub
}
}
'ऑनबिल्डहेडर()' केवल तभी बुलाया जाएगा यदि आप एपीआई स्तर 11 या उच्चतर पर चल रहे हैं। एपीआई लेवल 11+ पर 'वरीयता फ्रेगमेंट' और एंड्रॉइड के पुराने संस्करणों पर क्लासिक वरीयताओं का समर्थन करने के उदाहरण के लिए https://github.com/commonsguy/cw-omnibus/tree/master/Prefs/FragmentsBC देखें। – CommonsWare
ठीक है बहुत बहुत धन्यवाद! –
@ कॉमन्सवेयर क्या आप अपनी टिप्पणी को एक answrt के रूप में बदल सकते हैं, क्योंकि यह सबसे ज्यादा वोट दिया गया "अनुत्तरित" प्रश्न – rds