我在市场上有一个壁纸,想要添加一个颜色偏好设置。几天和几天后,我无法获得颜色偏好。
我使用的测试环境是标准的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中获取类名的一般问题吗?
由于
彼得韦伯