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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

关于prefrenceactivity和preferencefragment的作用

發布時間:2024/4/17 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于prefrenceactivity和preferencefragment的作用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在使用Android手機的時候,尤其是在操作軟件設置時,我們經常見到這樣的界面:

這是怎么來實現的的呢?其實android已經提供了相應的類和方法,當進行簡單數據存儲時(比如:軟件配置參數)android推薦使用Preferences,當然如果想提供操作界面的話就要用到PreferencesActivity。我這里先做個小例子對來簡單說明一下使用方法,由于沒做準備,可能講的不系統,以后補上。

首先:新建一個android工程,在其res文件夾下新建一個xml文件夾,用來存儲我們的PreferencesActivity需要展示的界面。

然后在xml文件夾下新建一個xml文件,名字隨意去,這里我建的名字叫:setting.xml

[html]?view plaincopy print?
  • <?xml?version="1.0"?encoding="utf-8"?>??
  • <PreferenceScreen??
  • ??xmlns:android="http://schemas.android.com/apk/res/android">??
  • ????<PreferenceCategory?android:title="分組一">????
  • ??????<Preference?????
  • ???????android:key="Already"?????
  • ???????android:title="本地"?????
  • ???????android:summary="管理本地"/>????
  • ???</PreferenceCategory>???
  • ??????
  • ????<PreferenceCategory??
  • ????android:title="分組二">??
  • ????<ListPreference???
  • ????android:key="CellCount"??
  • ????android:title="行列數選擇"??
  • ????android:defaultValue="3"??
  • ????android:entries="@array/settings_cell_count"??
  • ????android:entryValues="@array/settings_cell_values"??
  • ????/>??
  • ????</PreferenceCategory>??
  • ??????
  • ????<PreferenceCategory??
  • ????????android:title="@string/settings_cat_drawer">??
  • ????????<ListPreference??
  • ????????????android:key="CurrentDrawerSortOrder"??
  • ????????????android:title="@string/settings_drawer_sorting"???
  • ????????????android:defaultValue="1"??
  • ????????????android:entries="@array/settings_sorting_names"???
  • ????????????android:entryValues="@array/settings_sorting_values"?/>??
  • ??????????????
  • ????????<CheckBoxPreference???
  • ????????android:title="CheckBox"???
  • ????????android:summary="check!!!!!!!!!!"???
  • ????????android:key="check"></CheckBoxPreference>??
  • ??????????
  • ????????<EditTextPreference???
  • ????????android:title="EditText"???
  • ????????android:summary="edit!!!!!!!!!!"???
  • ????????android:key="edit"></EditTextPreference>??
  • ????</PreferenceCategory>??
  • </PreferenceScreen>??
  • 當然titl之類的名字都可以采用"@string/settings_drawer_sorting"的方式引用我們自己定義的名字,這里為了簡單直接寫上去了(不推薦)。title是上面亮白的大字,summary是title下面的小字說明,字數不要太多啊,它的顯示空間是固定的,多了也顯示不出來。

    里面填充的數據我就不寫了,應該都會的吧,不會的可以自己百度一下android array的使用與定義吧。

    ?

    那么,我們怎么把這個xml顯示出來呢?

    需要新建一個Activity繼承PreferencesActivity,下面是具體代碼:

    [java]?view plaincopy print?
  • package?com.preference.demo;??
  • ??
  • import?android.os.Bundle;??
  • import?android.preference.Preference;??
  • import?android.preference.PreferenceActivity;??
  • import?android.preference.PreferenceScreen;??
  • import?android.util.Log;??
  • ??
  • public?class?PreferenceDemo?extends?PreferenceActivity{??
  • ????static?final?String?MANAGER_LOCATION_THEME=?"Already";//組件的key值,要對應啊??
  • ??????
  • ????@Override??
  • ????protected?void?onCreate(Bundle?savedInstanceState)?{??
  • ????????//?TODO?Auto-generated?method?stub??
  • ????????super.onCreate(savedInstanceState);??
  • ????????this.addPreferencesFromResource(R.xml.setting);//引入我們的xml??
  • ????}??
  • ??
  • ????@Override??
  • ????public?boolean?onPreferenceTreeClick(PreferenceScreen?preferenceScreen,??
  • ????????????Preference?preference)?{??
  • ????????//?TODO?Auto-generated?method?stub??
  • ???????????????????String?key=preference.getKey();//獲取當前觸發動作組件的key值??
  • ??????????
  • ????????if(key.equals(MANAGER_LOCATION_THEME)){//根據key值不同進行自己的操作,這里只是攔取了一個做個示例??
  • ????????????Log.i("xml","already_exsting_theme");??
  • ??????
  • ????????}??
  • ?????????
  • ????????return?super.onPreferenceTreeClick(preferenceScreen,?preference);??
  • ????}??
  • ??
  • }??
  • //我只是打印了一下log,結果如下圖:??
  • 運行效果圖如下:

    點擊本地打印log,log截圖:

    我們還可以在需要的地方讀取xml里的值,我會在后續的文章里說一下,如果等不及的可以自己百度一下Preferences的使用,我們自己寫的xml實際上就是Preferences的使用,其數據的讀取方式是一樣的。

    ?

    該文章寫得過于倉促,內容很簡陋,如果有什么錯誤或表達不當的地方請留言,一定改,拜謝各

    總結

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

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