2017-03-02 23 views

回答

1

如何提供屬性值

你需要讓你的片段處理參數(參見setArguments()),然後通過任何你需要新創建的片段對象,重寫XML或framgent默認值。

+0

嗨馬爾欽。我知道如何做到這一點(以及我目前的解決方法),但使用參數意味着,如果我想要片段工作,如果它的靜態創建在XML或動態,我需要實現屬性值處理兩次。這對我來說並不合適。 –

+0

您可以爲每個處理的屬性創建單獨的setter方法,並將數據從bundle的XML屬性傳遞到要處理的位置,以便您仍然有一個實現。 –

+0

'屬性值處理兩次'使用參數是唯一正確的方式,因爲這會自動處理片段重新生成 –

0

使用下面的代碼:

@Override 
    public void onInflate(Activity activity, AttributeSet attrs, Bundle savedInstanceState) { 
     super.onInflate(activity, attrs, savedInstanceState); 
     // Your code here to process the attributes 
    }