2012-05-06 25 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

請發佈您的當前代碼和完整的異常日誌。照顧嵌套類,必須是靜態的 –