PreferenceInject注解的定义:
ViewUtils中的注解部分:
使用方法:
新建xml文件pref_test.xml:
新建PrefActivity.java:
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface PreferenceInject {
String value();
}ViewUtils中的注解部分:
PreferenceInject preferenceInject = field.getAnnotation(PreferenceInject.class);
if (preferenceInject != null) {
try {
Preference preference = finder.findPreference(preferenceInject.value());
if (preference != null) {
field.setAccessible(true);
field.set(handler, preference);
}
} catch (Throwable e) {
LogUtils.e(e.getMessage(), e);
}
}使用方法:
新建xml文件pref_test.xml:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<Preference
android:key="test"
android:title="Test"
android:summary="it is just for test"
/>
</PreferenceScreen>新建PrefActivity.java:
public class PrefActivity extends PreferenceActivity {
@PreferenceInject("test")
public Preference test;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.pref_test);
ViewUtils.inject(this);
}
}
本文介绍了PreferenceInject注解的定义及使用方法。该注解用于字段级别,可以在运行时将PreferenceScreen中的偏好设置注入到对应的字段中。文章通过示例展示了如何在Java类中声明带有PreferenceInject注解的字段,并在Activity中调用ViewUtils工具类的方法完成注入过程。
2544

被折叠的 条评论
为什么被折叠?



