2011-04-02 80 views
0

在Android应用程序中,我创建了一个自定义视图,用于扩展View类。我想在xml布局文件中声明我的类的一个对象,但即使在执行了很多次尝试之后,执行setContentView调用时应用程序也会意外停止(这就是出现的弹出窗口所示)。
在我的视图类中,在我的MainActivity文件中声明为public,我有两个构造函数:一个只带有Context作为参数,另一个带有ContextAttributeSet参数。我已经重写了onDraw函数。
此课程位于我的源代码包中,名称为org.me.myapp。 在布局文件,我宣布我要插入这样的对象:从xml布局访问自定义视图

<org.me.myApp.MainActivity.myView" 
    android:id="@+id/View" 
    android:layout_below="@id/toto" 
    android:layout_width="300dip" 
    android:layout_height="100dip"/> 

谁能告诉我什么是错?

在此先感谢您花费时间来帮助我。

回答

0

什么亚尔说,你应该扩展View或ViewGroup来创建自定义布局元素,并在布局xml中使用该类名称。不是成员变量它看起来你想要做的。膨胀布局后,您可以访问您的自定义视图;

org.me.myapp.MyView myView = (org.me.myapp.MyView) findViewById(R.id.MYVIEWID); 
0

我认为你必须声明你的自定义布局作为一个单独的类,例如:org.me.myapp.MyView,并涉及到它在XML文件中是这样的:

<org.me.myapp.MyView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    ... 
/> 
+0

再次感谢您的回答。现在,它工作... :-) – Zelig 2011-04-02 19:04:04

+0

那么接受它如何? ;)无论您有多少经验值,您都可以将答案标记为正确答案。 – Yar 2011-04-04 09:15:42