1

我的 XML 代码有一些问题,希望您能帮助我。

我在这个包中有这个类:

package com.example.myview

public class CustomDialog extends DialogPreference {

    public CustomDialog(Context context, AttributeSet attrs) {
        super(context, attrs);
        // TODO Auto-generated constructor stub
    }

    public CustomDialog(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        // TODO Auto-generated constructor stub
    }
}

然后我有这个偏好 xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >

    <com.example.myview.CustomDialog
        android:dialogMessage="Are you sure you wish delete you account"
        android:key="deleteAccountPreference"
        android:negativeButtonText="Cancel"
        android:positiveButtonText="Okay"
        android:summary="@string/preferences_deleteaccount_summary"
        android:title="@string/preferences_deleteaccount_title" />

</PreferenceScreen>

当我运行代码时,出现此错误:

03-16 17:03:18.032: E/AndroidRuntime(20224): android.view.InflateException: Binary XML file line #4: Error inflating class com.example.myview.CustomDialog
...
03-16 17:03:18.032: E/AndroidRuntime(20224): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.myview.CustomDialog" on path: .

总结一下我的问题,我想知道如何更改 xml 文件正在查看的路径,或者弄清楚为什么它不能扩展我的自定义视图。

提前致谢 :)

4

1 回答 1

0

我遇到了您上面提到的基本相同的问题。我假设您尝试在图形布局和偏好 xml 文件的 xml 视图之间来回切换,对吗?这是我克服初始化问题的廉价方法(应该类似于您的 ClassNotFoundException 问题):

  1. 复制在 xml 中类似引用的现有类(在 xml 中也有类似 com. . ClassName ... 的内容,并将“ClassName”重命名为 CustomDialog(在您的特定情况下)
  2. 完成此操作后,我仍然遇到“找不到类”错误 - 我只是重建了整个项目,这个错误就消失了。我新创建的小部件在图形布局中相应呈现。

我还没有看到我是否遇到了你所做的膨胀错误,但我希望我的回答仍然有所帮助。抱歉,如果没有,这实际上是我在 stackoverflow 上的第一篇文章,而且在谈到 Android 时,我无疑是一个 n00b。我也在学习:)

于 2013-03-27T17:56:21.447 回答