我創建了一個自定義視圖:自定義視圖的構造函數不會被調用在Android 5.0.2
public class SomeView extends View
該自定義視圖的構造函數:
public SomeView (Context context)
{
super(context);
}
// Called when view is inflated from xml
public SomeView (Context context, AttributeSet attrs)
{
super(context, attrs);
}
// Perform inflation from XML and apply a class-specific base style from a theme attribute.
public SomeView (Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs, defStyle);
}
我也嘗試了第四構造從API 21沒有運氣:
public VeediView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)
{
super(context, attrs,defStyleAttr, defStyleRes);
}
在xml佈局我定義這個視圖和事情工作正常。
Galaxy S2上的測試工作正常,視圖構造函數被調用,但在Nexus-7 android 5.0.2上運行應用程序時,構造函數根本不會被調用。
任何想法爲什麼?
它可能與根設備有關嗎?
的相關XML視圖:
<com.package.name
android:id="@+id/scene"
android:onClick="startx"
style="@style/txt_money_style"
android:layout_width="72dp"
android:layout_height="72dp"
android:background="@drawable/wtbtn"
android:layout_gravity="right"
android:gravity="center_vertical|right"
/>
我很確定它被調用,並且該錯誤不在Android中。我們完全基於自定義視圖構建了一個應用程序,並且5.0.2上沒有任何問題。也許這是你的設備/自定義Rom或你的代碼的問題。 –
猜測:您的視圖是不可見的,並且存在一種新的優化,將這些視圖的構建推遲到實際需要時。 – yoah
你在5.0.2屏幕上看到這個視圖嗎? –