b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

preferencemanager_preferencemanager类_axure有mac版(7)

电脑杂谈  发布时间:2017-05-28 03:02:41  来源:网络整理

添加只要是就是调用PreferenceGroup的addPreference(Preference preference)方法 来添加至容器PreferenceGroup。

对于PreferenceActivity的findPreference(key)方法,我们只需要知道key值就可以找到同一xml文件下相应的Preference,勿需考虑层级和嵌套关系

这里写图片描述

对于PreferenceGroup的removePreference(Preference preference)和removeAll()方法,都是针对某个PreferenceGroup来处理的,所以我们必须考虑层级嵌套关系,可以分为两步:先找到PreferenceGroup和要删除的Preference,再调用PreferenceGroup的removePreference执行删除动作。

首先这是我们的布局

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
    android:key="key_manage_prefs">
    <PreferenceCategory
        android:key="key_category"
        android:title="PreferenceCategory">
        <EditTextPreference
            android:key="key_edtprefs"
            android:title="EditTextPreference" />
        <PreferenceScreen
            android:key="key_child_prefscreen"
            android:title="Child PreferenceScreen">
            <CheckBoxPreference
                android:key="key_checkbox"
                android:title="CheckBoxPreference" />
        </PreferenceScreen>
    </PreferenceCategory>
</PreferenceScreen>

测试主体代码

public class MainActivity extends PreferenceActivity {

    private Context mContext;
    private Preference preference;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.test_preference);

        //removePreferenceByKey();
        mContext=getApplicationContext();
        preference=findPreference("key_checkbox_child");//只要是同一个xml文件下的所有Preference都能通过key直接找到
        preference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
            @Override
            public boolean onPreferenceChange(Preference preference, Object newValue) {
                Toast.makeText(mContext, String.format("Preference的值为%s", newValue),Toast.LENGTH_LONG).show();
                return true;
            }
        });

        preference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
            @Override
            public boolean onPreferenceClick(Preference preference) {
                Toast.makeText(mContext, "Preference Clicked",Toast.LENGTH_LONG).show();
                //getFragmentManager().beginTransaction().replace(android.R.id.content,new MainFragment()).commit();
                return false;
            }
        });
    }
        private void removePreferenceByKey(){
        /*PreferenceGroup preferenceGroup=(PreferenceGroup)findPreference("key_category");//先找到PreferenceGroup
        Preference preference=findPreference("key_edtprefs");//再找到要删除的Preference*/
        /*(PreferenceGroup)findPreference("key_child_prefscreen").removePreference(findPreference("key_checkbox_child"));//执行删除key为key_checkbox_child的Preference**/
        getPreferenceScreen().removePreference(findPreference("key_category"));//删除掉key_category及对应节点下的所有节点
        //ERROR//getPreferenceScreen().removePreference(findPreference("key_edtprefs"));//无效,因为getPreferenceScreen获得的是当前的顶级容器,而key_edtprefs不是它的直接字节点
        ////((PreferenceGroup)findPreference("key_category")).removeAll();//仅删除掉key_category下对应Preference节点下的所有子节点
    }

这里写图片描述

这篇文章主要介绍了Preference家族树中顶级成员和次级成员的应用和简单原理的说明,也基本把几乎所有相关的知识点都涉及了,Preference的基本语法都是一样的,区别在于各自不同的特性。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-49635-7.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 森

      这也是后来的战列舰大战通常采取的战法

      • 韩昭
        韩昭

        我没觉得台湾香港人享受更高品质生活

    • 刘嘉伟
      刘嘉伟

      饮料口味不错

    热点图片
    拼命载入中...