无法使用自定义组件保存Android XML文件

时间:2011-03-15 11:39:03

标签: android android-widget android-xml

4 个答案:

答案 0 :(得分:2)

要解决此问题,我所要做的就是删除以下导入:

import kankan.wheel.R; // remove this line

在您复制并粘贴示例演示

中的代码时会自动添加

Remove the line highlighted in this screen grab

答案 1 :(得分:1)

找不到资源。它可以是例如您正在使用的@drawable/layout_bg

如果不是这样,请看看这两行:

initResourcesIfNecessary(WheelView.java:427) 
calculateLayoutWidth(WheelView.java:482) 

你正在那里请求一个不存在的资源(一个Id,一个drawable等等)。

答案 2 :(得分:1)

每件事都是正确的。请检查drawable文件夹中 layout_bg 的图像格式。 支持的格式:

1.JPG 2.png 3.bmp

(例如:Android接受.jpg,而不是.jpeg)。

答案 3 :(得分:0)

我通过"try-catching"方法

中的资源访问解决了这个问题
     initResourcesIfNecessary

我知道它不是理想的解决方案,但至少现在我可以在设计时编辑我的布局。

修改后的方法如下

        private void initResourcesIfNecessary() {


    if (centerDrawable == null) {
        try {
            centerDrawable = getContext().getResources().getDrawable(R.drawable.wheel_val);
        } catch (Exception ex) {
            centerDrawable = null;
        }
    }

    if (topShadow == null) {
        try {
            topShadow = new GradientDrawable(Orientation.TOP_BOTTOM, SHADOWS_COLORS);
        } catch (Exception ex) {
            topShadow = null;
        }
    }

    if (bottomShadow == null) {
        try {
            bottomShadow = new GradientDrawable(Orientation.BOTTOM_TOP, SHADOWS_COLORS);
        } catch (Exception ex) {
            bottomShadow = null;
        }
    }
    try {
        setBackgroundResource(R.drawable.wheel_bg);
    } catch (Exception ex) {
        setBackgroundResource(0);
    }
}