示例#1
0
        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")));
        }
示例#2
0
        public TextMessageItemsAdapter(Activity activity, TextMessagesViewModel viewModel)
        {
            this.viewModel = viewModel;
            this.activity  = activity;

            this.viewModel.Items.CollectionChanged += (sender, args) =>
            {
                this.activity.RunOnUiThread(NotifyDataSetChanged);
            };
        }