2013-02-06 23 views
1

我正在尋找一種方法來在佈局中聲明參數化視圖。例如,如果我有一個類NumericTextView<T> extends TextView我想能夠在xml佈局中聲明它。由於佈局被解析的方式,以下看起來不會起作用。xml中的Android參數化視圖

<NumbericTextView<Integer>/> 

但我可能有這樣的事情嗎?

<NumbericTextView type:Integer/> 

如果仍然無法工作有什麼錯誤使用一些自定義FrameLayout上一個參數切換到添加正確的NumbericTextView<T>孩子?

回答

1

你想要做的事,如:

<com.my.ui.NumericTextView 
    android:id="@+id/MyTextView" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" /> 

看到android custom text view can not be added in layout file

這對於自定義屬性:http://prasanta-paul.blogspot.com/2010/05/android-custom-textview.html

+0

我明白我需要完整的包路徑通過XML添加視圖以及如何創建自定義屬性。我遇到的問題是在xml佈局中指定參數化元素。因此,在代碼中,我可以使用'new NumericTextView ()',但我不知道它是否可以在佈局本身做到這一點 – StackJP

+0

如果使用第二個鏈接中的自定義屬性,則可以將它傳遞給構造函數觀點。佈局看起來像:'my:type =「integer」'。這會給你一些自由,但不允許真正的參數化類。 – theelfismike

+0

我覺得這不是被支持的東西。我可能不得不使用包含自定義屬性的包裝佈局來解決它。如果其他人有另一種解決方案,我會將其保留一段時間,否則我會將其標記爲答案 – StackJP