zoukankan      html  css  js  c++  java
  • PreferenceScreen监听子项的刷新

    有个PreferenceScreen,他有一些个子项目。它的Summary需要根据子项的设置来改变的,所以需要监听子项的刷新事件。

    preferenceScreen.setOnPreferenceChangeListener( ) 是不管用的。

    不过,它的RootAdapter在子项更新时却能够收到事件,所以就直接上代码了:

    // Auto update Summary when related preference changed.
    preferenceScreen.getRootAdapter().registerDataSetObserver(new DataSetObserver() {
    	@Override
    	public void onChanged()
    	{
    		super.onChanged();
    		// Update Summary...
    	}
    });

    哦,还有就是,收到这个事件的时候,Preference的Value已经改变了,所以就可以放心地读取新的值了。

    不像setOnPreferenceChangeListener( ),在这个事件执行的时候,它的值还没有改变。虽然可以通过OnPreferenceChange的参数判断新的值,但是在某些时候还是不方便,比如需要调用一个已有的方法,而这个方法又不能接收这个新的值的时候。

    Tips:这时可以使用Handler.post()方法。

  • 相关阅读:
    redis基础
    Django Meta
    Django Query
    Django FileFieldManage
    Django Managers管理器
    Django 模型
    Pytables h5py
    python 高级部分
    Python和HDF 5大数据应用
    是时候放弃pipeline 模型 ?
  • 原文地址:https://www.cnblogs.com/h46incon/p/3687781.html
Copyright © 2011-2022 走看看