private void SetupRecyclerView()
        {
            _recyclerView = FindViewById <RecyclerView>(Resource.Id.recyclerView);

            var _todosService = new TodosService();

            _presenter = new TodosPresenter(this, _todosService, null);

            ((PresenterBase)_presenter).RestoreState(StateManager.Instance);

            _adapter              = new TodosAdapter(this, _presenter);
            _adapter.TodoClicked += (sender, e) =>
            {
                _presenter.OnTodoClicked(e);
            };
            _adapter.TodoLongClicked += (sender, e) =>
            {
                Toast.MakeText(this, $"Long click. {e.Name}", ToastLength.Short).Show();
                //_presenter.TodoLongClicked(e);
            };

            _recyclerView.SetLayoutManager(new LinearLayoutManager(this));
            _recyclerView.SetAdapter(_adapter);

            if (_presenter.FirstVisibleItemPosition.HasValue)
            {
                _recyclerView.ScrollToPosition(_presenter.FirstVisibleItemPosition.Value);
            }
        }
示例#2
0
 public TodosAdapter(ITodosView view, ITodosPresenter presenter)
 {
     _presenter = presenter;
     _view      = view;
 }