我已经创建了一个自定义的偏好设置布局,每行有两个开关,称为dualtogglepreference。还有一个扩展Preference类的类来处理其中的一些细节。当我将这个自定义偏好设置添加到我的preferences.xml文件中时,它会出现在用户界面中,但我无法在Preference Activity中使用findPreference引用它。
偏好设置活动(PreferenceActivity)
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:title="Notifications">
<com.hitpost.testing.DualTogglePreference
android:key="followsMe"
android:title="Someone follows me"
android:layout="@layout/dualtogglepreference"/>
</PreferenceCategory>
</PreferenceScreen>
偏好设置活动(PreferenceActivity)
public class TestingCustomPreferenceActivity extends PreferenceActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
DualTogglePreference followsMe = (DualTogglePreference) findPreference("followsMe");
if (followsMe != null)
Log.e("FOLLOWS_ME", "NOT NULL");
else
Log.e("FOLLOWS_ME", "NULL"); //THIS IS PRINTED
}
}
从视觉上看,一切都很完美,即小部件的布局是正确的。请帮忙,我已经为此奋斗了一整天。