protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); var data = Intent.GetStringExtra("data"); var item = Newtonsoft.Json.JsonConvert.DeserializeObject <Thread>(data); // viewModel = new TextMessagesViewModel(this.ContentResolver, item.ThreadId); var recyclerView = FindViewById <RecyclerView>(Resource.Id.recyclerView); recyclerView.HasFixedSize = true; recyclerView.SetAdapter(adapter = new TextMessageItemsAdapter(this, viewModel)); var layoutManager = (GridLayoutManager)recyclerView.GetLayoutManager(); layoutManager.ReverseLayout = true; //layoutManager.StackFromEnd = true; recyclerView.SetLayoutManager(layoutManager); refresher = FindViewById <SwipeRefreshLayout>(Resource.Id.refresher); refresher.SetColorSchemeColors(Resource.Color.accent); progress = FindViewById <ProgressBar>(Resource.Id.progressbar_loading); progress.Visibility = ViewStates.Gone; // SupportActionBar.Title = item.PhoneContact?.DisplayName; SupportActionBar.SetDisplayHomeAsUpEnabled(true); SupportActionBar.SetBackgroundDrawable(new ColorDrawable(Color.ParseColor("#2196F3"))); }
public TextMessageItemsAdapter(Activity activity, TextMessagesViewModel viewModel) { this.viewModel = viewModel; this.activity = activity; this.viewModel.Items.CollectionChanged += (sender, args) => { this.activity.RunOnUiThread(NotifyDataSetChanged); }; }