日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

PreferenceActivity

發布時間:2023/12/9 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PreferenceActivity 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PreferenceActivity

PreferenceActivity 是從api1 就加入的。android3.0之后有了fragment的概念后,也加入了PreferenceFragment。

Android提供preference這個鍵值對的方式 來處理這種情況,自動保存這些數據,并立時生效。Android提供一種類似layout的方式來進行Prefernce的布局。
當我們退出actitvity后再次進入,上次的選項依然保留。我們可以利用preference這一特性,而無須人工對數據進行保存和讀取,很是方便。

preferce xml

preference xml 的位置在res/xml目錄下

<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"><!-- <PreferenceCategory android:title="First Category"><ListPreferenceandroid:defaultValue="list key default value"android:dialogTitle="list_dialog_title"android:entries="@array/list_preference"android:entryValues="@array/list_preference"android:key="list_key"android:summary="list_summary"android:title="list title"/></PreferenceCategory> --><PreferenceCategory android:title="Second Category"><EditTextPreferenceandroid:defaultValue="edit default value"android:key="edittext_key"android:summary="edit summary"android:title="edit title"/><CheckBoxPreferenceandroid:defaultValue="checkbox default value"android:key="checkbox_key"android:summary="checkbox summary"android:title="checkbox title"/><EditTextPreferenceandroid:defaultValue="0"android:key="num_key"android:numeric="integer"android:summary="edit summary"android:title="input number"/></PreferenceCategory> </PreferenceScreen>

調用

addPreferencesFromResource(R.xml.testpreference); // 可以將xml解析成layout

讀取數據

想要 獲取preference的數據,首先要獲取preferences,然后通過 鍵值對的獲取方式根據key獲取數值,在xml中checkbox的key為“checkbox”,值的類型為布爾值,而rintong的值為String

SharedPreferences prefs =PreferenceManager.getDefaultSharedPreferences(this) ;

獲取preferences的三種方式

一、getPreferences():可以獲取同一activity中的preference;
二、getSharedPreferences():可以獲取映用級別的preferences(),在這個例子中由于我們封裝在同一app中,也可以使用SharePreferences prefs = getSharedPreferences( “com.wei.android.learning_preferences” ,0);其中第一個參數name的格式是<package_name>_preferences;
三、getDefaultSharedPreferences():就是我們例子的方式,通過Android的偏好管理器來獲取其所管理的preferences

click觸發規則

1 先調用onPreferenceClick()方法,如果該方法返回true,則不再調用onPreferenceTreeClick方法 ;
如果onPreferenceClick方法返回false,則繼續調用onPreferenceTreeClick方法。
2 onPreferenceChange的方法獨立與其他兩種方法的運行。也就是說,它總是會運行。

補充:點擊某個Preference控件后,會先回調onPreferenceChange()方法,即是否保存值,然后再回調onPreferenceClick以及onPreferenceTreeClick()方法,因此在onPreferenceClick/onPreferenceTreeClick

方法中我們得到的控件值就是最新的Preference控件值

PreferenceCategory也可以嵌套PreferenceScreen,PreferenceScreen中的內容,將通過另一屏來顯示,我們在上面例子后面添加一個嵌套了PreferenceScreen的PreferenceCategory。整個PreferenceScreen作為一個組件出現,點擊后新的一屏,進入PreferenceScreen定義。通過這個關系,我們可以組織自己的preference架構。

總結

以上是生活随笔為你收集整理的PreferenceActivity的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。