Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }