我有一個自定義視圖(它擴展了GLSurfaceView)我試圖在我的應用程序中使用。使用它的xml佈局似乎正在正確加載(我爲視圖設置的屬性被應用),但是該視圖的構造函數和onFinishInflate方法都不會被調用。我還應該補充說,我對android平臺很陌生,所以這可能是一個愚蠢的錯誤。構造函數和onFinishInflate都不需要自定義視圖
這裏是我的main.xml
<?xml version="1.0" encoding="utf-8"?>
#<!-- Status Bar -->
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:background="@drawable/status_bkg">
#<!-- Location label -->
<TextView
android:text="Location"
android:textColor="#FFFFFF"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
#<!-- Date/Time label -->
<TextView
android:text="Date and Time"
android:textColor="#FFFFFF"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right" />
</LinearLayout>
#<!-- ChartView -->
<View class="com.xxx.yyy.ChartView" android:id="@+id/chartView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00FF00"
android:layout_weight="1">
</View>
的ChartView是自定義GLSurfaceView。此佈局已加載,並且ChartView具有指定的綠色背景。但是,我的設置(代碼)沒有發生。我試過把它放在兩個構造函數和onFinishInflate方法中,但它們莫名其妙地沒有被調用。我驗證過的類名是正確的(在xxx.yyy只是爲了隱藏公司在這個崗位。
我也嘗試了不同形式的XML參考
<com.xxx.yyy.ChartView android:id="@+id/chartView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00FF00"
android:layout_weight="1"/>
,但這去世時加載的活動說,構造
ChartView(上下文的背景下,ATTRS的AttributeSet)
不存在(雖然它肯定是在我的代碼)。
任何人都有可能發生什麼事情的提示?
粘貼視圖的Java代碼。 – Cristian 2010-12-20 23:18:41