1
我正在扩展ListPreference
以添加功能,以便在选择条目更改时更改首选项摘要。到目前为止,我只扩展了这个类,提供了构造函数,并设置了一些选项。当我运行一个引用这个类在XML的应用程序崩溃与InflateException
活动:InflateException extends android.preference.ListPreference
E/AndroidRuntime(1542): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.grooveshark.android.radio/com.grooveshark.android.radio.activity.SettingsActivity}: android.view.InflateException: Binary XML file line #88: Error inflating class HighQualityPreference
E/AndroidRuntime(1542): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1768)
E/AndroidRuntime(1542): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1784)
E/AndroidRuntime(1542): at android.app.ActivityThread.access$1500(ActivityThread.java:123)
E/AndroidRuntime(1542): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:939)
E/AndroidRuntime(1542): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(1542): at android.os.Looper.loop(Looper.java:130)
E/AndroidRuntime(1542): at android.app.ActivityThread.main(ActivityThread.java:3835)
E/AndroidRuntime(1542): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(1542): at java.lang.reflect.Method.invoke(Method.java:507)
E/AndroidRuntime(1542): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847)
E/AndroidRuntime(1542): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
E/AndroidRuntime(1542): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(1542): Caused by: android.view.InflateException: Binary XML file line #88: Error inflating class HighQualityPreference
这里是在Java:
public class HighQualityPreference extends ListPreference
{
public HighQualityPreference(Context context, AttributeSet attrs)
{
super(context, attrs);
// TODO Auto-generated constructor stub
setEntries(R.array.high_quality_options);
setEntryValues(R.array.high_quality_option_values);
setSummary("Six squirrels while on a WiFi connection");
}
public HighQualityPreference(Context context)
{
super(context);
}
}
这里的XML:
<HighQualityPreference android:key="@string/prefs_high_quality_option"
android:persistent="true" />
正如你可以看到,我所做的一切都是扩展课程。要将功能添加到ListPreference
,我需要做更多的事情吗?这意味着,我是否需要重写其他函数或调用其他函数?我是否需要设置XML内容视图?我确实想使用原始的XML,我只想在选择的实体更改时更新摘要。
请出示您的XML。我怀疑你在没有完整的包名的情况下提到这个'HighQualityPreference',但是你需要包含它,否则充气机将无法找到它。 – 2012-04-02 18:10:09
@AleksG我在上面添加了XML。不,我没有包含完全限定的组件名称。 – skyler 2012-04-02 18:23:52
尝试为组件添加完全限定的包,即' ' –
2012-04-02 18:39:34