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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

PreferenceScreen 偏好显示类 的使用

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

PreferenceScreen preference是偏好,首選的意思,PreferenceScreen個人翻譯成 “偏好顯示”,明白這個意思就好,就是說根據特點靈活的定義顯示內容風格,一個屏幕可以包含多個風格,像系統自帶的聲音設置界面。

實現這種顯示效果其實很簡單,只需要借助PreferenceScreen類即可。在項目資源文件中新建xml文件夾,在里面新建preferences.xml文件.
根元素為PreferenceScreen 代表顯示一整個屏幕,內部嵌套PreferenceCategory標簽,表示偏好類別,在PreferenceCategory標簽內部可以隨便存放復選框,輸入框,列表等顯示控件.可包含的控件內容在android.preference包下可查閱.xml文件編寫好后,需要加載到activity中,對于偏好顯示的xml加載,可以使用PreferenceActivity中的addPreferencesFromResource(),所以Activity需要繼承PreferenceActivity.既然顯示的屏幕中包含復選框,輸入框的控件,我們必然對選擇與否,輸入框內容感興趣,我們要怎樣獲取屏幕的內容呢?
復寫activity中的onPreferenceTreeClick 方法,在對屏幕顯示的內容進行操作時,會觸發此方法,在方法內部通過調用

SharedPreferences contentPreference = preference.getSharedPreferences(); boolean checkbox_toggle = contentPreference.getBoolean("checkbox_preference", false); String animalName = contentPreference.getString("edittext_preference", "default");

即可得到屏幕上輸入的內容,與使用SharedPreference對象一樣,通過key-value 的形式獲取,其中key是xml控件標簽中key屬性對應的值.

1.先在res文件夾中新建一個xml文件夾,用來存放preferences.xml文件
preferences.xml

<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory android:title="顯示一排偏好"> <CheckBoxPreference android:key="checkbox_preference" android:title="開關偏好" android:summary="這是一個開關按鈕" /> </PreferenceCategory> <PreferenceCategory android:title="基于對話框的偏好"> <EditTextPreference android:key="edittext_preference" android:title="文本輸入偏好" android:summary="使用一個文本框對話框" android:dialogTitle="輸入你的寵物" /> <ListPreference android:key="list_preference" android:title="列表偏好" android:summary="使用一個列表對話框" android:entries="@array/entries_list_preference" android:entryValues="@array/entryvalues_list_preference" android:dialogTitle="選擇一個" /> </PreferenceCategory> <PreferenceCategory android:title="啟動偏好"> <PreferenceScreen android:key="screen_preference" android:title="屏幕" android:summary="顯示另一個偏好屏幕"> <!-- You can place more preferences here that will be shown on the next screen. --> <CheckBoxPreference android:key="next_screen_checkbox_preference" android:title="開關偏好" android:summary="另一個屏幕上的偏好" /> </PreferenceScreen> <PreferenceScreen android:title="意圖偏好" android:summary="通過意圖啟動一個Activity"> <intent android:action="android.intent.action.VIEW" android:data="http://www.android.com" /> </PreferenceScreen> </PreferenceCategory> <PreferenceCategory android:title="偏好屬性"> <CheckBoxPreference android:key="parent_checkbox_preference" android:title="父開關" android:summary="這是一個父開關" /> <CheckBoxPreference android:key="child_checkbox_preference" android:dependency="parent_checkbox_preference" android:layout="?android:attr/preferenceLayoutChild" android:title="子開關" android:summary="這是一個子開關" /> </PreferenceCategory> </PreferenceScreen>

2.新建一個Activity繼承PreferenceActivity
3.重寫onCreate方法,添加preferences.xml作為顯示界面:

@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); // setContentView(R.layout.activity_setting);addPreferencesFromResource(R.xml.preferences);}

好了,這些都搞完了,那么我們怎么能夠隨時拿到這些首選項數據呢?

SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);boolean ON_OFF = sp.getBoolean("checkbox_preference", false);boolean next_screen = sp.getBoolean("next_screen_checkbox_preference", false);String text = sp.getString("edittext_preference", "");String listtext = sp.getString("list_preference", "");Log.i("lenve", ON_OFF+"--"+next_screen+"--"+text+"--"+listtext);

可是有的時候我們如果希望更改后立馬被系統獲知選項已被更改,又該如何?復寫繼承了PreferenceActivity的類中的onPreferenceTreeClick方法,這個方法會在設置修改時觸發。

@Override public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,Preference preference) {SharedPreferences sp = preference.getSharedPreferences();boolean ON_OFF = sp.getBoolean("checkbox_preference", false);Log.i("lenve", ON_OFF+"");String text = sp.getString("edittext_preference", "");Log.i("lenve", text+"");String listtext = sp.getString("list_preference", "");Log.i("lenve", listtext+"");boolean next_screen = sp.getBoolean("next_screen_checkbox_preference", false);Log.i("lenve", next_screen+"");return true; }

最終顯示效果如下:
顯示效果:

轉載自:https://lovezhou.iteye.com/blog/1020361
https://blog.csdn.net/u012702547/article/details/47039199

總結

以上是生活随笔為你收集整理的PreferenceScreen 偏好显示类 的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 美女免费黄色 | 日韩bbw| 天堂无乱码 | 粉嫩av一区二区白浆 | 国产成人一区二区三区视频 | 国语精品 | 原创少妇半推半就88av | 少妇无码一区二区三区 | 精品少妇爆乳无码av无码专区 | 神马久久久久久久久久 | 岛国av在线 | 在线免费福利 | 午夜性影院 | 亚洲国产欧美一区二区三区深喉 | 99re这里只有精品6 | 日韩午夜伦 | 日本少妇xxxx软件 | 久久综合精品国产二区无码不卡 | www.偷拍.com | 免费观看国产精品 | 亚洲国产视频一区二区三区 | 91麻豆精品国产91久久久无需广告 | 欧美30p| 男女无遮挡网站 | 蜜桃久久一区二区三区 | 成人激情视频 | av观看在线免费 | jlzzjlzzjlzz亚洲人 | 国产成人精品免费看视频 | 欧美中文字幕第一页 | 久久久精品视 | 一级黄色在线 | 色网站免费观看 | 日日干日日插 | 成人做爰www免费看视频网站 | 国产黄a三级三级三级看三级男男 | 热逼视频 | 久久久久久久九九九九 | 一本色道久久综合亚洲精品图片 | 成人入口| 天天干夜夜撸 | 美女久久视频 | 人妻少妇精品无码专区久久 | 中国极品少妇xxxxx | 欧美全黄 | 俺也去av| 成年人看的黄色 | 日日操夜夜操天天操 | 欧美日韩午夜精品 | 久久免费毛片 | 午夜免费福利网站 | 国产精品v欧美精品v日韩精品 | 天天做天天爱夜夜爽 | 欧美理论视频 | 欧美3p视频 | 欧美精品啪啪 | 波多野结衣日韩 | 综合精品久久 | 日日爱669| 精产国品一区二区 | 国产黄色美女视频 | 天堂av免费在线观看 | 成人免费网视频 | 草莓视频一区二区三区 | 日本在线一 | 欧美一区二区三区四区在线观看 | 波多野结衣一区二区三区在线观看 | 亚洲老女人| 欧美一级电影在线 | 欧美一区二区三区久久久 | 欧美乱淫视频 | 性色av网站 | 日本公与丰满熄 | 欧美一级淫片免费视频黄 | 色久影院 | 亚洲男人在线天堂 | 久久成人国产精品入口 | 久久精品黄| 麻豆久久久9性大片 | 欧美极品三级 | 香蕉久久夜色 | 韩国伦理在线视频 | 少妇性l交大片7724com | 国产精品久久久久毛片 | 欧美视频精品 | а√天堂中文在线资源8 | 丝袜ol美脚秘书在线播放 | 熊出没之冬日乐翻天免费高清观看 | 中文字幕无码人妻少妇免费 | 在线看网站 | www性| 日韩视频区 | 国产三级精品三级 | 成人动漫av在线 | 日韩三级免费看 | 日日夜夜网站 | 精品一区二区三 | 福利第一页 | 欧美精品v|