protected override RecyclerView.ViewHolder GetViewHolder(ViewGroup parent, int viewType) { View view; RecyclerView.ViewHolder holder; var inflater = LayoutInflater.FromContext(ServiceContainer.Resolve <Context> ()); switch (viewType) { case ViewTypeClient: view = inflater.Inflate(Resource.Layout.ProjectListClientItem, parent, false); holder = new ClientListItemHolder(view); break; case ViewTypeProject: view = inflater.Inflate(Resource.Layout.ProjectListProjectItem, parent, false); holder = new ProjectListItemHolder(this, view, HandleTasksProjectItemClick, HandleProjectItemClick); break; case ViewTypeTask: view = inflater.Inflate(Resource.Layout.ProjectListTaskItem, parent, false); holder = new ProjectListTaskItemHolder(this, view); break; default: view = inflater.Inflate(Resource.Layout.ProjectListNoProjectItem, parent, false); holder = new NoProjectListItemHolder(this, view); break; } return(holder); }
protected override RecyclerView.ViewHolder GetViewHolder(ViewGroup parent, int viewType) { View view; RecyclerView.ViewHolder holder; if (viewType == ViewTypeWorkspace) { // header view = LayoutInflater.FromContext(ServiceContainer.Resolve <Context> ()).Inflate(Resource.Layout.ProjectListWorkspaceItem, parent, false); holder = new WorkspaceListItemHolder(view); } else { // projects if (viewType == ViewTypeProject) { view = LayoutInflater.FromContext(ServiceContainer.Resolve <Context> ()).Inflate(Resource.Layout.ProjectListProjectItem, parent, false); holder = new ProjectListItemHolder(this, view, HandleTasksProjectItemClick, HandleProjectItemClick); } else if (viewType == ViewTypeNewProject) { view = LayoutInflater.FromContext(ServiceContainer.Resolve <Context> ()).Inflate(Resource.Layout.ProjectListNewProjectItem, parent, false); holder = new NewProjectListItemHolder(this, view); } else if (viewType == ViewTypeTask) { view = LayoutInflater.FromContext(ServiceContainer.Resolve <Context> ()).Inflate(Resource.Layout.ProjectListTaskItem, parent, false); holder = new ProjectListTaskItemHolder(this, view); } else { view = LayoutInflater.FromContext(ServiceContainer.Resolve <Context> ()).Inflate(Resource.Layout.ProjectListNoProjectItem, parent, false); holder = new NoProjectListItemHolder(this, view); } } return(holder); }