2016-02-27 22 views
5

Sto utilizzando la barra degli strumenti Android nella mia app MvvmCross 3.5.1 ma una volta aggiornato a MvvmCross 4.0 i databindings non funzionano. Fino a quando non c'è attività appcompat di base devo implementare la mia:DataBindings sono interrotti dopo l'aggiornamento a MvvmCross 4.0 quando si utilizza AppCompatActivity

MvxActionBarEventSourceActivity : AppCompatActivity , IMvxEventSourceActivity 
{ 
... 
} 

e quindi basare associabile attività mvx:

MvxActionBarActivity : MvxActionBarEventSourceActivity, IMvxAndroidView 
{ 
... 
} 

App inizia bene e posso vedere la mia barra degli strumenti, ma attacchi sono solo "silenzioso" e non funziona. La stessa implementazione funziona per MvvmCross 3.5.

Potete trovare piena campione qui: https://dl.dropboxusercontent.com/u/19503836/MvvmCross4_Toolbar_Bindings.zip

Si prega di avvisare.

risposta

4

È necessario eseguire l'override OnCreateView e AttachBaseContext e utilizzare il MvxAppCompatActivityHelper per sostenere attacchi: https://github.com/MvvmCross/MvvmCross-AndroidSupport/blob/master/MvvmCross.Droid.Support.V7.AppCompat/MvxAppCompatActivity.cs#L78

public override View OnCreateView(View parent, string name, Context context, IAttributeSet attrs) 
    { 
     var view = MvxAppCompatActivityHelper.OnCreateView(parent, name, context, attrs); 
     return view ?? base.OnCreateView(parent, name, context, attrs); 
    } 

    protected override void AttachBaseContext(Context @base) 
    { 
     base.AttachBaseContext(MvxContextWrapper.Wrap(@base, this)); 
    } 

C'è un campione a disposizione per implementare Toolbar invece di Actionbar troppo: https://github.com/MvvmCross/MvvmCross-AndroidSupport/tree/master/Samples

+0

funziona come un fascino! Ho usato MvxAppCompatActivity dal pacchetto nuget di supporto mvvmcross e funziona benissimo. Grazie! –

+0

Dead mvvmcross links. –