0

我试图在 helloWorld XML 布局中引用自定义视图,但出现以下异常:Error inflating class acme.my.MyTextView。

但是,我可以实例化视图并将其手动添加到主内容视图中。自定义视图是从它自己的 XML 布局构建的。我怎样才能让它工作?

public class MyTextView extends LinearLayout {  

 MyTextView(Context context){
  super(context);

  LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  layoutInflater.inflate(R.layout.my_text_view,this);
 }

 MyTextView(Context context, AttributeSet attrs){
  super(context, attrs);

  LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  layoutInflater.inflate(R.layout.my_text_view,this);
 }
}



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />

  <view class = "acme.my.MyTextView"
 android:id="@+id/myView" 
 android:orientation="vertical"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"           
 />
4

2 回答 2

1

构造函数不是公开的。:(

于 2010-07-30T11:37:06.657 回答
0

你必须这样称呼它

 <com.example.MyLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

还要让你的构造函数公开

于 2011-11-25T12:15:03.993 回答