使用自定义首选项视图

时间:2011-03-20 06:07:46

标签: android

我在市场上有一个壁纸,想要添加一个颜色偏好设置。几天和几天后,我无法获得颜色偏好。

我使用的测试环境是标准的Cube2Settings壁纸应用程序。我复制了https://github.com/commonsguy/cwac-colormixer的代码,它提供了一个颜色选择器作为首选项活动。

具体来说,我现在有一个名为“com.example.android.livecubes.cube2.ColorPreference”的类(以及它需要的其他一些类)。在Java中,Intellisense可以在我的Preference活动中看到这个类。 ColorPreference.java的第一行是:

public class ColorPreference extends DialogPreference {

我的cube2settings.xml看起来如下:

 <?xml version="1.0" encoding="utf-8"?>
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
        android:title="@string/cube2_settings"
        android:key="cube2wallpaper_settings">

  <ListPreference
        android:key="cube2_shape"
        android:title="@string/cube2_settings_title"
        android:summary="@string/cube2_settings_summary"
        android:entries="@array/cube2_shapenames"
        android:entryValues="@array/cube2_shapeprefix" />

 <com.example.android.livecubes.cube2.ColorPreference
        android:key="favoriteColor"
        android:defaultValue="0xFFA4C639"
        android:title="Your Favorite Color"
        android:summary="Blue.  No yel-  Auuuuuuuugh!" />            
</PreferenceScreen>

如果没有com.example ...上面的xml中的ColorPreference,运行正常。有了它,我得到“应用程序process.com.example.android.livecubes已经意外停止”。我的代码中根本没有对ColorPrefernce做任何其他事情,它编译得很好。上面的xml是从它们提供的示例中复制的,只是更改了类名。

我担心我可以显然输入任何我喜欢的内容而不是“com.example.android.livecubes.cube2.ColorPreference”,它会编译。这让我觉得这条线路有问题,虽然我当然已经尝试了十亿种变化。是不是有一些方法可以在Eclipse xml编辑器中限制/检查类名到有效类,就像在Java编辑器中一样,或者至少检查它是否有效而不在模拟器中运行它?我以前曾多次遇到过这种问题。

任何人都可以帮助解决ColorPreference无法解决的具体问题,或者在xml中获取类名的一般问题吗?

由于

彼得韦伯

0 个答案:

没有答案