從XML

2009-12-07 11 views
2

結束語一個LinearLayout中,我試圖讓一些Android的視圖類(只是包裝了在一個XML文件中定義的佈局)。這是正確的:從XML

public class MyViewWrapper extends LinearLayout { 
    private TextView mTextView; 

    public MyViewWrapper(Context context) { 
     super(context); 
    } 

    public constructUI() { 
     LayoutInflater inflater = (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     inflater.inflate(R.layout.myview, this); 

     mTextView = (TextView)findViewById(R.id.myview_textview); 
    } 
} 

這樣的想法就是,我可以構建我的意見這樣的,他們有邏輯內修改其子視圖等佈局是這樣的:

<LinearLayout> 
    <TextView /> 
</LinearLayout> 

它看起來像我會得到一個額外的不必要的LinearLayout。包裝類本身就是一個LinearLayout,然後它將從XML文件中附加內部的LinearLayout。

可以嗎?

感謝

回答

1

你可以嘗試用<merge>更換<LinearLayout>在你的佈局文件。我最近沒有嘗試過,而且我認爲當我最後一次嘗試時遇到了問題,但理論上它應該達到目的。 <merge>基本上意思是「把我所有的孩子都帶走,並把它們直接放進我正在充氣的任何容器中」。