Я новичок в Xamarin, и я пытаюсь обновить свой MainActivity
от себя. Я читал много форумов об этом, но я до сих пор не могу найти решение. Моя проблема в том, что мне нужно сделать обновление из другого метода, а не в методе onCreate()
.Обновить текущую активность в Xamarin
Мой MainActivity
- это listview
, и я хочу перезагрузить всю активность, чтобы обновить список. Мне нужно перезагрузить всю деятельность, потому что в моей ситуации я не могу использовать NotifyDataSetChanged()
, потому что изменения, которые я делаю для listview
, не входят в метод onCreate()
, а не в новую активность. У меня есть меню CAB, где у пользователя есть возможность удалить выбранную заметку из списка. Я использую метод NotifyDataSetChanged()
в моем методе onResume()
, и он отлично работает, когда я вношу изменения в свой listview
в другой активности, но он не работает, когда я делаю их из текущей активности, потому что метод onResume()
не вызывается.
Я пытался делать это так:
Intent refresh = new Intent(this,typeof(MainActivity));
refresh.AddFlags(ActivityFlags.NoAnimation);
Finish();
StartActivity(refresh);
, но это дает мне NullPointerException
на первом ряду уже .. И исключение я думаю, это «это». Поэтому я попробовал это по-другому: вместо использования этого «я» использую - Intent refresh = new Intent(context ,typeof(MainActivity));
где context = this в методе onCreate()
. Но таким образом он все еще дает мне NullPointerException
, но на этот раз в строке - StartActivity(refresh)
..
Заранее спасибо! :)
'NotifyDataSetChanged' наиболее определенно работает за пределами' OnCreate'/'OnResume' переопределениях. – Johan
Да, это работает, но я инициализировал свой адаптер в методе onCreate. И я не знаю, как использовать его вне метода onCreate(). –
См. Мой ответ, это небольшой пример, но он будет работать. – Johan