无法显示我的自定义Android视图

时间:2010-06-20 17:09:37

标签: java android

我正在尝试创建一个自定义控件,除了装饰显示的文本外什么都不做。当我在main.xml中引用这个类,就像我正在阅读的所有示例一样,并将其部署到模拟器时,小部件只是说“问题加载小部件”。

我正在开始Android开发,只是想了解如何开发自定义控件:

这是ExtendedTextView控件:

package uk.co.andrewrea.android;

import android.content.Context;
import android.util.AttributeSet;
import android.widget.TextView;

public class ExtendedTextView extends TextView {

    public ExtendedTextView(Context context) {
        super(context);
        // TODO Auto-generated constructor stub
    }

    public ExtendedTextView(Context context, AttributeSet attrs){
        super(context,attrs);
    }

    public ExtendedTextView(Context context, AttributeSet attrs, int defStyle){
        super(context, attrs, defStyle);
    }

    @Override
    public CharSequence getText() {
        // TODO Auto-generated method stub
        return "***" + super.getText() + "***";
    }

}

这是main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:orientation="vertical"
  android:background="@drawable/widget_bg_normal"
  android:layout_gravity="center"
  android:layout_height="wrap_content">
<uk.co.andrewrea.android.ExtendedTextView android:id="@+id/widget_textview"
  android:text="@string/hello"
  android:layout_height="wrap_content"
  android:layout_width="wrap_content"
  android:layout_gravity="center_horizontal|center"
  android:layout_marginTop="5dip"
  android:padding="10dip"
  android:textColor="@android:color/black"/>
</LinearLayout>

干杯,

安德鲁

1 个答案:

答案 0 :(得分:2)

  

当我在里面引用这个类时   main.xml就像我所有的例子一样   我正在阅读并将其部署到   模拟器,小部件只是说   “加载小工具时遇到问题。”

此消息仅对主屏幕应用小部件显示。如果这是您要构建的内容,则不能将自定义View类与app小部件一起使用。您只能将自定义的View课程与Activities一起使用。