Browse Source

fix initialisation order.

pull/7756/head
Dan Walmsley 4 years ago
parent
commit
91980bea54
  1. 10
      src/Android/Avalonia.Android/AvaloniaActivity.cs
  2. 7
      src/Android/Avalonia.Android/AvaloniaView.cs

10
src/Android/Avalonia.Android/AvaloniaActivity.cs

@ -31,20 +31,22 @@ namespace Avalonia.Android
CustomizeAppBuilder(builder);
View = new AvaloniaView(this);
SetContentView(View);
var lifetime = new SingleViewLifetime();
lifetime.View = View;
builder.AfterSetup(x =>
{
View = new AvaloniaView(this);
SetContentView(View);
_viewModel = new ViewModelProvider(this).Get(Java.Lang.Class.FromType(typeof(AvaloniaViewModel))) as AvaloniaViewModel;
lifetime.View = View;
if (_viewModel.Content != null)
{
View.Content = _viewModel.Content;
}
View.Prepare();
});
builder.SetupWithLifetime(lifetime);

7
src/Android/Avalonia.Android/AvaloniaView.cs

@ -12,7 +12,7 @@ namespace Avalonia.Android
{
public class AvaloniaView : FrameLayout
{
private readonly EmbeddableControlRoot _root;
private EmbeddableControlRoot _root;
private readonly ViewImpl _view;
private IDisposable? _timerSubscription;
@ -21,6 +21,11 @@ namespace Avalonia.Android
{
_view = new ViewImpl(context);
AddView(_view.View);
}
internal void Prepare ()
{
_root = new EmbeddableControlRoot(_view);
_root.Prepare();
}

Loading…
Cancel
Save