2014-03-04 57 views
1

在我的Android MvvmCross應用程序中,我的ToggleButton綁定像調試版本的冠軍一樣工作,但發佈失敗。MvxBind for ToggleButton僅在發佈版本中失效

我的切換按鈕和有約束力的定義是類似以下內容:

<ToggleButton 
     android:id="@+id/MyToggle" 
     local:MvxBind="Checked MyToggleChecked" /> 

如果我能爲我的發佈版本的調試輸出,我得看到下面的日誌輸出:

MvxBind:Error:113.19 View type not found - ToggleButton 
[0:] MvxBind:Error:113.19 View type not found - ToggleButton 
03-04 14:38:41.005 I/mono-stdout(25265): MvxBind:Error:113.19 View type not found - ToggleButton 

我MvvmCross組件是版本v4.0.30319,我的MvvmCross.Droid程序集是v2.0.50727(嗯...是一個問題?)

任何想法? (提前感謝Suart ;-)

+0

http://stackoverflow.com/questions/22056747/mvvmcross-android-togglebutton-binding-doesnt-seem-to-work-in-release-mode – Stuart

+0

哇,我的搜索沒有跨來一。我會給它一個!謝謝! – HolySamosa

+0

我們應該更新錯誤消息以詢問「您是否已將類型添加到LinkerPleaseInclude?」 – Kiliman

回答

2

根據鏈接Stuart Lodge的評論,問題是由於鏈接器不包括MvxBind表達式中引用的反射屬性。

我添加了一個明確的引用屬性強制鏈接器包含的類,現在一切都很好,我的發佈版本!

internal class LinkerForceInclude 
{ 
    private LinkerForceInclude() 
    {    
    } 

    private void IncludeChecked(ToggleButton button) 
    { 
     button.Checked = !button.Checked; 
    } 
}