当前位置:操作系统 > 安卓/Android >>

Android 程式开发:(十三)特殊碎片 —— 13.3 PreferenceFragment

有的时候,我们做的程序需要提供一些选项的功能,能让用户去定制化他们自己的使用风格。举个例子,你可能允许用户是否自动保存登录信息,允许用户自己设定某个页面的刷新时间等等。在Android平台上面,我们可以使用PreferenceActivity基类去显示给用户一个选项设置的界面。在Android3.0或更高的版本上,可以使用PreferenceFragment类去实现这个功能。

下面将展示如何去创建和使用PreferenceFragment。

1、创建一个工程:PreferenceFragmentExample。

2、在res文件夹下面新建一个xml文件夹,在xml文件夹下面新建一个文件:preferences.xml。


[html] 
<?xml version="1.0" encoding="utf-8"?> 
<PreferenceScreen  
    xmlns:android="http://schemas.android.com/apk/res/android"> 
 
    <PreferenceCategory android:title="Category 1"> 
        <CheckBoxPreference 
            android:title="Checkbox" 
            android:defaultValue="false" 
            android:summary="True of False" 
            android:key="checkboxPref" /> 
        </PreferenceCategory>                 
         
    <PreferenceCategory android:title="Category 2"> 
        <EditTextPreference 
            android:name="EditText" 
            android:summary="Enter a string" 
            android:defaultValue="[Enter a string here]" 
            android:title="Edit Text" 
            android:key="editTextPref" />             
        <RingtonePreference 
            android:name="Ringtone Preference" 
            android:summary="Select a ringtone" 
            android:title="Ringtones" 
            android:key="ringtonePref" />             
        <PreferenceScreen                 
            android:title="Second Preference Screen" 
            android:summary= 
                "Click here to go to the second Preference Screen" 
            android:key="secondPrefScreenPref">                             
            <EditTextPreference 
                android:name="EditText" 
                android:summary="Enter a string" 
                android:title="Edit Text (second Screen)" 
                android:key="secondEditTextPref" />                 
        </PreferenceScreen>         
    </PreferenceCategory>   
           
</PreferenceScreen> 
3、在包路径下面新建一个类:Fragment1.java。
[html] 
public class Fragment1 extends PreferenceFragment { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
 
        // 从xml文件加载选项 
        addPreferencesFromResource(R.xml.preferences); 
    } 

4、PreferenceFragmentExampleActivity.java(主活动)的代码。
[java] 
public class PreferenceFragmentExampleActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
         
        FragmentManager fragmentManager = getFragmentManager(); 
        FragmentTransaction fragmentTransaction =  
            fragmentManager.beginTransaction(); 
        Fragment1 fragment1 = new Fragment1(); 
        fragmentTransaction.replace(android.R.id.content, fragment1);         
        fragmentTransaction.addToBackStack(null);  
        fragmentTransaction.commit(); 
    } 

5、按F11在模拟器上面调试。

6、点击第二行,就会显示一个窗口。

 

7、使用DDMS工具,就会看见在本应用的包路径下面会生成一个xml文件。

 


如果想创建一个列表样式的选项,首先,我们需要先创建preferences.xml文件,然后在这个文件里面填充各种元素。

然后,我们需要一个继承PreferenceFragment的子类:

[html] 
public class Fragment1 extends PreferenceFragment {} 
接下来,我们使用addPreferencesFromResource()方法去加载xml文件:
[html] 
@Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
 
        // 从xml文件加载选项 
        addPreferences

补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,