首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >InflateException扩展android.preference.ListPreference

InflateException扩展android.preference.ListPreference
EN

Stack Overflow用户
提问于 2012-04-03 02:07:58
回答 1查看 689关注 0票数 1

我正在扩展ListPreference以添加功能,以便在所选条目发生更改时更改首选项的摘要。到目前为止,我只扩展了这个类,提供了构造函数,并设置了一些选项。当我在XML中运行引用此类的活动时,应用程序崩溃并显示InflateException

代码语言:javascript
复制
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代码:

代码语言:javascript
复制
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:

代码语言:javascript
复制
        <HighQualityPreference android:key="@string/prefs_high_quality_option"
            android:persistent="true" />

正如你所看到的,我所做的就是扩展这个类。要向ListPreference添加功能,我需要做的不仅仅是扩展它吗?也就是说,我是否需要覆盖任何其他函数或调用其他函数?是否需要设置XML内容视图?我确实想使用原始的XML,我只想在所选实体发生变化时更新摘要。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-04 15:55:05

尝试为组件添加完全限定的包,即

代码语言:javascript
复制
<com.your.package.HighQualityPreference android:key="..." ... />
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9981477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档