上一篇说了,可以调整Activity的大小,使之显示成dialog的样式,所以今后,选项神马的小窗布局都可以采用preferenceFragment 但是要将他放在Activity上面来显示,然后属于该选项的记录文件被自动创建。
这一条用来在你的preference中来添加你的布局资源, addPreferencesFromResource(R.xml.custom_preference)
这一条用来在activity中执行显示你的preference getFragmentManager().beginTransaction().replace(android.R.id.content, new EthernetSettings()).commit();
XML Attributes说明
android:key :每个Preference控件独一无二的”ID”,唯一表示此Preference。
android:summary : 每个Preference在PreferenceScreen布局上显示的标题——小标题(可以没有)
那么prefernce 怎么跳转呢?
- <!-- 点击时 自定义一个默认跳转Intent action指定隐式Intent -->
- <!-- action指定隐式Intent ; targetPackage和targetClass指定显示Intent-->
- <intent android:action="com.feixun.action.seemAction"
- android:targetPackage="------" android:targetClass="---------" />
点击事件:
public booleanon PreferenceTreeClick (PreferenceScreen preferenceScreen, Preference preference)
public booleanonPreferenceClick(Preference preference)
boolean onPreferenceChange(Preference preference,Object objValue)
这里面的preference都是指对应被点击的控件 具体自己用的时候看文档就OK了!
它的触发规则如下:
1 先调用onPreferenceClick()方法,如果该方法返回true,则不再调用onPreferenceTreeClick方法 ;
如果onPreferenceClick方法返回false,则继续调用onPreferenceTreeClick方法。
2 onPreferenceChange的方法独立与其他两种方法的运行
如果直接去Activity去继承的话 这样写
- public class HelloPreference extends PreferenceActivity implements
- Preference.OnPreferenceClickListener,
- Preference.OnPreferenceChangeListener
另外还需要再补充一下,记得注册事件监听和取消注册,这么写:
@Override
public void onResume()
{
super.onResume();
Log.e("communication","onResume");
initSummary();
getPreferenceManager().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
}
@Override
public void onPause()
{
super.onPause();
getPreferenceManager().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);
}
就是这样的,框架有了,自己挖掘吧!