麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統 > Android > 正文

Android學習筆記之Shared Preference

2020-04-11 12:02:42
字體:
來源:轉載
供稿:網友

  如果沒有特殊要求,我們可以使用Android提供的框架來創建系統樣式的Preference Screen,在其內部可以包含PreferenceCategory和Preference<control>元素的任意組合。建立Preference Screen,需要向里面添加首選項控件,原生的這些控件有:CheckBoxPreference、EditTextPreference、ListPreference、MultiSelectListPreference和RingtonePreference,每種控件至少包含4種屬性:android:key,android:title,android:summary,android:defaultValue,用一種圖來對其進行說明:

創建Preference有兩種方法,第一種是使用PreferencesActivity。首先在res/values下創建一個arrays.xml用于存放ListPreference的數據

復制代碼 代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="update_freq_options">
        <item>Every Minute</item>
        <item>5 minutes</item>
        <item>10 minutes</item>
        <item>15 minutes</item>
        <item>Every Hour</item>
    </string-array>
    <string-array name="magnitude">
        <item>1</item>
        <item>3</item>
        <item>5</item>
        <item>6</item>
        <item>7</item>
        <item>8</item>
    </string-array>   
    <string-array name="magnitude_options">
        <item>1</item>
        <item>3</item>
        <item>5</item>
        <item>6</item>
        <item>7</item>
        <item>8</item>
    </string-array> 
    <string-array name="update_freq_values">
        <item>1</item>
        <item>5</item>
        <item>10</item>
        <item>15</item>
        <item>60</item>
    </string-array>       

</resources>


然后在res/xml下創建userpreferences.xml,用于定義PreferenceScreen

復制代碼 代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android">
    <CheckBoxPreference
        android:key="PREF_ANTUO_UPDATE"
        android:title="Auto refresh"
        android:summary="Select to turn on automatic updating"
        android:defaultValue="true"/>
    <ListPreference
        android:key="PREF_UPDATE_FREQ"
        android:title="Prefresh frequency"
        android:summary="Frequency at which to refresh earthquake list"
        android:entries="@array/update_freq_options"
        android:entryValues="@array/update_freq_values"
        android:dialogTitle="Prefresh frequency"
        android:defaultValue="60"/>
    <ListPreference
        android:key="PREF_MIN_MAG"
        android:title="Minmum magnitude"
        android:summary="Select the minimum magnitude earthquake to report"
        android:entries="@array/magnitude_options"
        android:entryValues="@array/magnitude"
        android:dialogTitle="Magnitude"
        android:defaultValue="3"/>
</PreferenceScreen>

最后在MainActivity中重寫onCreate方法,這個MainActivity要繼承PreferenceActivity,使用addPreferencesFromResource添加PreferenceScreen

復制代碼 代碼如下:

public class MainActivity extends PreferenceActivity
{
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.userpreferences);
    }
}

OK,搞定,效果如圖

                    

第二種方法是使用PreferenceFragment,首先創建UsePreferenceFragment類繼承PreferenceFragment類,重寫onCreate方法,使用addPreferencesFromResource來加載userpreferences.xml

復制代碼 代碼如下:

public class UserPreferenceFragment extends PreferenceFragment
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.userpreferences);
    }
}

然后在res/xml下創建preference_headers.xml,來關聯UsePreferenceFragment

復制代碼 代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<preference-headers
    xmlns:android="http://schemas.android.com/apk/res/android">
       <header android:fragment="com.sharedpreferencetest.UserPreferenceFragment"
           android:title="Settings"
           android:summary="Earthquake Refresh Settings" />
</preference-headers>

最后在MainActivity中重寫onBuildHeaders方法

復制代碼 代碼如下:

public class MainActivity extends PreferenceActivity
{   
    @Override
    public void onBuildHeaders(List<Header> target)
    {
        // TODO Auto-generated method stub
        loadHeadersFromResource(R.xml.preference_headers, target);
    }
}

搞定,效果如圖:                然后點擊Settings就會進入下個界面

                                                         

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 精品一区二区三区四区在线 | 双性精h调教灌尿打屁股的文案 | 性高跟鞋xxxxhd4kvideos | 成人午夜网址 | 看一级毛片 | av日韩一区二区三区 | 蜜桃成品人免费视频 | 国产精品视频六区 | 在线观看国产网站 | 欧美成人激情 | 亚洲特黄a级毛片在线播放 久久久入口 | 深夜小视频在线观看 | 国产精品久久久网站 | 在线视频观看一区二区 | 久久久久久久久国产 | 国产精品99久久久久久宅女 | 黄色片快播 | 成人福利在线 | 蜜桃视频观看麻豆 | 黄色国产在线观看 | 日韩美香港a一级毛片 | 99成人精品视频 | 一级黄色毛片播放 | 中文字幕一二三区芒果 | 日本a在线观看 | 久草视频免费 | 他也色在线视频 | 国产自91精品一区二区 | 免费看污视频在线观看 | 精品一区二区三区电影 | 一区二区三区欧美日韩 | 午夜精品区 | 激情宗合网 | 亚洲精品成人久久久 | 最新欧美精品一区二区三区 | 欧美一区二区黄 | 亚洲男人的天堂在线视频 | 99成人精品视频 | 韩国一大片a毛片 | 亚洲免费看片网站 | 欧美三级美国一级 |