Android Preference鎬庝箞浣跨敤
浣跨敤Android Preference涓昏鍖呮嫭浠ヤ笅鍑犱釜姝ラ锛?/p>
-
鍒涘缓涓€涓狿reference XML鏂囦欢锛氬湪res/xml鐩綍涓嬪垱寤轰竴涓猉ML鏂囦欢锛屽畾涔塒reference鐨勭粨鏋勫拰灞炴€с€?/p>
-
鍒涘缓涓€涓狿referenceFragment鎴栬€匬referenceActivity锛歅referenceFragment鏄疉ndroid 3.0鍙婁互涓婄増鏈腑浣跨敤鐨勶紝鑰孭referenceActivity鏄疉ndroid 3.0浠ヤ笅鐗堟湰浣跨敤鐨勩€?/p>
-
鍔犺浇Preference XML鏂囦欢锛氬湪PreferenceFragment鎴栬€匬referenceActivity涓姞杞戒笂涓€姝ュ垱寤虹殑Preference XML鏂囦欢銆?/p>
-
澶勭悊Preference鐨勫彉鍖栵細濡傛灉闇€瑕佸鐞哖reference鍙樺寲鐨勪簨浠讹紝鍙互浣跨敤OnPreferenceChangeListener鐩戝惉Preference鐨勫彉鍖栵紝骞跺湪鍥炶皟鏂规硶涓繘琛岀浉搴旂殑澶勭悊銆?/p>
涓嬮潰鏄竴涓畝鍗曠殑渚嬪瓙锛?/p>
- 鍒涘缓涓€涓猵reference.xml鏂囦欢锛屽畾涔変竴涓猄witchPreference鍜屼竴涓狶istPreference锛?/li>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<SwitchPreference
android:key="switch_preference"
android:title="Switch Preference"
android:summary="This is a switch preference" />
<ListPreference
android:key="list_preference"
android:title="List Preference"
android:summary="This is a list preference"
android:entries="@array/list_entries"
android:entryValues="@array/list_entry_values" />
</PreferenceScreen>
- 鍒涘缓涓€涓狿referenceFragment锛屽苟鍦╫nCreate()鏂规硶涓姞杞絧reference.xml鏂囦欢锛?/li>
public class MyPreferenceFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preference);
}
}
- 鍦ˋctivity涓姞杞絇referenceFragment锛?/li>
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getFragmentManager().beginTransaction()
.replace(android.R.id.content, new MyPreferenceFragment())
.commit();
}
}
- 澶勭悊Preference鐨勫彉鍖栵紝鍦≒referenceFragment涓坊鍔燨nPreferenceChangeListener鐩戝惉鍣細
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preference);
Preference switchPreference = findPreference("switch_preference");
switchPreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
boolean isChecked = (boolean) newValue;
// 澶勭悊SwitchPreference鐨勫彉鍖?/span>
return true; // 杩斿洖true琛ㄧず澶勭悊瀹孭reference鐨勫彉鍖?/span>
}
});
Preference listPreference = findPreference("list_preference");
listPreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
String selectedValue = (String) newValue;
// 澶勭悊ListPreference鐨勫彉鍖?/span>
return true; // 杩斿洖true琛ㄧず澶勭悊瀹孭reference鐨勫彉鍖?/span>
}
});
}
浠ヤ笂灏辨槸浣跨敤Android Preference鐨勫熀鏈楠わ紝閫氳繃杩欑鏂瑰紡鍙互鏂逛究鍦扮鐞嗗拰鎿嶄綔搴旂敤绋嬪簭鐨勮缃€?/p>
相关问答