自定义视图在xml布局中变得不可见

时间:2010-12-14 23:10:36

标签: android

我正在创建从EditText派生的自定义视图。我的视图被声明为内部类:

package com.woodshy.glucoXpert.DPass;

//...

public class DPassValuesEditActivity extends GenericScreenActivity {

//...

public static class DPassValuesEditField extends EditText {
    protected String mDbFieldName;


    public DPassValuesEditField(Context context) {
        super(context);
    }

    public DPassValuesEditField(Context context, AttributeSet attrs) {
        super(context, attrs);

        TypedArray a = context.obtainStyledAttributes(attrs,
                R.styleable.DPassValuesEditField);

        CharSequence s = a
                .getString(R.styleable.DPassValuesEditField_dbFieldName);
        if (s != null) {
            mDbFieldName = s.toString();
        }

    }

    //...
}
}

res / attrs.xml文件如下所示:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <declare-styleable name="DPassValuesEditField">
        <attr name="dbFieldName" format="string" />
    </declare-styleable>
</resources>

我将自定义视图添加到xml布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res/com.woodshy.glucoXpert"
    android:id="@+id/LinearLayout01" android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:orientation="vertical">
    <ScrollView android:layout_width="fill_parent"
        android:layout_height="fill_parent" android:layout_gravity="center_vertical"
        android:scrollbars="vertical">
        <RelativeLayout android:id="@+id/editFielsdLayout"
            android:layout_height="fill_parent" android:layout_width="fill_parent"
            android:clickable="true">
            <view
                class="com.woodshy.glucoXpert.DPass.DPassValuesEditActivity$DPassValuesEditField"
                android:id="@+id/edtWeight" android:layout_width="wrap_content"
                android:layout_height="wrap_content" android:width="75px"
                android:maxLines="1" android:layout_below="@+id/TextView01"
                android:lines="1" android:gravity="center" android:imeOptions="flagNoExtractUi"
                android:inputType="numberDecimal" android:maxLength="3"
                app:dbFieldName="Weight"></view>

        </RelativeLayout>


    </ScrollView>
</LinearLayout>

但我无法在可视化编辑器(Eclipse SDK,版本:3.6.1)中看到它,而它在运行时出现在应用程序中并且工作正常。

我做错了吗?如何在可视化编辑器中显示我的自定义视图?

感谢。

2 个答案:

答案 0 :(得分:0)

有同样的问题。 看起来它(插件)需要重新加载一些东西才能显示自定义视图。 尝试从图形布局编辑器中切换目标平台,从当前到其他一些平台(例如,从2.1到2.3)。这有助于甚至在切换回“当前”(例如2.1)后继续显示自定义视图。

有时也需要重启eclipse ......

答案 1 :(得分:-1)

  
    

如何在可视化编辑器中显示我的自定义视图?

  

你不能。