2011-04-02 77 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