Мне нужна помощь по LiveData и ViewModel в Xamarin Android. Я немного новичок в Xamarin Android и хочу знать, как использовать LiveData. Я настоящий Android разработчик и довольно хорошо знаю, как использовать внутри Android. Но здесь, в Xamarin Android я пытался его использовать, но я немного застрял с интерфейсом IObserver. В Android мы обычно используем анонимный интерфейс для Observer, но в c# мы не можем этого сделать. Мой вопрос заключается в том, как я справляюсь с несколькими вариантами жизни от ViewModel. Как я могу отличить guish между различными полями LiveData из ViewModel. Ниже приведен мой код, который вы можете видеть, что только OnChanged()
получает обновления от ViewModel.
[Activity(Label = "@string/app_name", Theme = "@style/AppTheme", MainLauncher = true)]
public class MainActivity : AppCompatActivity, IObserver
{
private MainViewModel ViewModel;
private TextInputLayout artleNo;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
Xamarin.Essentials.Platform.Init(this, savedInstanceState);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.activity_inventory_info);
ViewModel = new ViewModelProvider(this)
.Get(Java.Lang.Class.FromType(typeof(MainViewModel))) as MainViewModel;
ViewModel.loadArticle().Observe(this,this); // That's fine for one LiveData What should i do
with Multiple livedata comes from ViewModel;
ViewModel.IsLoading.Observe(this,this);
}
public void OnChanged(Java.Lang.Object p0)
{
//problem here how i can distinguish between different LiveData values?
}
}
С уважением, Спасибо