2012-05-06 76 views

回答

1

尝试添加自定义View这样的:

<view 
    class="test.project.app.Compass$SampleView" 
    //... other attributes 
/> 

您的自定义View类必须是publicstatic上面的代码工作。 另一种选择是将SampleView放在其自己的文件中,并简单地使用上述答案中的代码。

3

在布局文件中添加

<LinearLayout > 

<com.yourpackagename.SampleView /> 

<LinearLayout> 

LinearLayout lLayout = (LinearLayout)findViewById(R.id.linearlayout); 
lLayout.addView(new SampleView()); 
2

只需使用您的自定义视图类的完全限定名

<LinearLayout ...> 
    <your.package.SampleView 
    android:layout_width=".." 
    android:layout_height=".." 
    .. 
    > 
    </your.package.SampleView > 
    .. 
</LinearLayout> 

但是,删除 “私有”从你的类定义中,如果它嵌套类添加static

不能使用内部类在这一点上

+0

我试过了,但它给了我例外:java.lang.RuntimeException:无法启动活动ComponentInfo {test.project.app/test.project.app.Compass}:android.view.InflateException:二进制XML文件行#14:错误膨胀类test.project.app.Compass.SampleView – user934779

+0

我在我的Compass.java类中声明SampleView – user934779

+0

请发布您的当前代码和完整的异常日志。照顾嵌套类,必须是静态的 –