我正在尝试编写Android Honeycomb应用程序,但我无法继承Preference:http://developer.android.com/reference/android/preference/Preference.html
我想使用标题和摘要制作类似的布局,但也需要进度条。
我已经创建了布局并添加了自定义首选项类,但我似乎无法掌握它的实例来设置其中的项的值。
似乎偏好键不适用于自定义类。
以下是我的偏好定义与标准偏好类的比较:
<Preference
android:key="int_free_storage"
android:title="Free Space"
android:summary="free storage value here"/>
<com.hamid.storageether.SpacePreference
android:key="int_space_test"
android:title="Test"
android:summary="This is my custom preference"/>
我的偏好子类然后将我的XML布局设置为其构造函数
中的布局资源setLayoutResource(R.layout.space_pref_layout);
它还会覆盖setTitle和setSummary方法......
在我的主要PreferenceActivity中,我尝试通过它的关键来获取我的偏好,但似乎没有运气,因为首选项永远不会更新:
// These Two work
Preference intTotal = (Preference)findPreference("int_total_storage");
Preference intFree = (Preference)findPreference("int_free_storage");
intTotal.setSummary("Standard Preference Summary 1");
intFree.setSummary("Standard Preference Summary 2");
// My subclass doesn't - It just displays the default text defined in the layout xml.
SpacePreference intTest = (SpacePreference)findPreference("int_test_space");
intTest.setTitle("Testtttyyy");
intTest.setSummary("Test Summary");
有人可以指出我可能出错的地方吗?
答案 0 :(得分:0)
此代码是直接从程序中复制还是重新输入?如果复制了,那么你的密钥是XML中的“int_space_test”和代码中的“int_test_space”。如果是这种情况,它应该在你使用intTest的下一行抛出一个空指针异常。