我創建了一個添加到XML佈局的CustomView。 這是一個非常簡單的佈局,不應該顯示任何問題。不過,令我感到惱火的是,某些元素似乎會在佈局中增加兩次(在其內部)。Android CustomView顯示兩次
的XML看起來是這樣的:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/activityLayoutRL">
<world.b2g.b2gether.ui.RadarQuickInfo
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/radarDetailView"
android:visibility="visible"/>
</RelativeLayout>
視圖本身僅僅是延伸的LinearLayout,並像這樣初始化:
public void initView(Context context){
this.context = context;
LayoutInflater inflater = (LayoutInflater)
context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.radar_detail_layout, this);
}
有時似乎切換時改變到另一個內部版本號。我開發API級別23,但更改爲22,有時似乎解決它(至少暫時)
所以我創造了這個構造
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public RadarQuickInfo(Context context, AttributeSet attrs,
int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
initView(context);
}
自定義視圖的佈局似乎並沒有改變任何東西。所以即使這樣會導致這種效應:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/radarDetailRootViewLL">
</LinearLayout>
我假設,有可能是某處的錯誤? 有什麼建議嗎?
佈局能否請你告訴我們你的'radar_detail_layout'? –
即使佈局爲空,也會發生這種情況。但是,當然,我爲你編輯了這篇文章。謝謝! –
你能提供完整的initView()嗎? –