public MainInnerItem(View p0) : base(p0) { this.itemView = p0; mInnerLayout = (p0 as ViewGroup)?.GetChildAt(0); mHeader = p0.FindViewById <TextView>(Resource.Id.tv_header); mName = p0.FindViewById <TextView>(Resource.Id.tv_name); mAddress = p0.FindViewById <TextView>(Resource.Id.tv_address); mAvatar = p0.FindViewById <ImageView>(Resource.Id.avatar); mAvatarBorder = p0.FindViewById <View>(Resource.Id.avatar_border); mLine = p0.FindViewById <View>(Resource.Id.line); mInnerLayout.Click += (sender, args) => { InnerData itemData = GetItemData(); if (itemData != null && CrossCurrentActivity.Current.Activity is MainActivity mainActivity) { DetailsActivity.Start(mainActivity, GetItemData().Name, mAddress.Text, GetItemData().AvatarUrl, itemView, mAvatarBorder); } }; }
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.Inflate(Resource.Layout.project_details_layout, container, false); details = Activity as DetailsActivity; projectData = details.projectDataJson; projectServer = details.projectServerJson; projectTitle = details.projectTitle; projecType = view.FindViewById <TextView>(Resource.Id.tvProjectDetailsType); projectDesc = view.FindViewById <TextView>(Resource.Id.tvProjectDetailsDescription); projectStats = view.FindViewById <TextView>(Resource.Id.tvProjectDetailsStatus); projectPercent = view.FindViewById <TextView>(Resource.Id.tvProjectDetailsPercentComplete); projectWork = view.FindViewById <TextView>(Resource.Id.tvProjectDetailsWork); projectDuration = view.FindViewById <TextView>(Resource.Id.tvProjectDetailsDuration); projectStart = view.FindViewById <TextView>(Resource.Id.tvProjectDetailsStartDate); projectEnd = view.FindViewById <TextView>(Resource.Id.tvProjectDetailsEndDate); projectOwner = view.FindViewById <TextView>(Resource.Id.tvProjectDetailsOwner); projectLPD = view.FindViewById <TextView>(Resource.Id.tvProjectDetailsLPD); ThreadPool.QueueUserWorkItem(state => { var data1 = JsonConvert.DeserializeObject <ProjectData.RootObject>(projectServer); var data2 = JsonConvert.DeserializeObject <ProjectModel.RootObject>(projectData); var item1 = data1.D.Results.Where(p => p.Name == projectTitle).FirstOrDefault(); if (item1 != null) { details.RunOnUiThread(() => { projectDesc.Text = item1.Description; if (item1.IsCheckedOut == true) { projectStats.Text = "Checked-out"; } else { projectStats.Text = "Checked-in"; } projectPercent.Text = item1.PercentComplete.ToString() + "%"; projectStart.Text = item1.StartDate.ToLongDateString(); projectEnd.Text = item1.FinishDate.ToLongDateString(); projectLPD.Text = item1.LastPublishedDate.ToLongDateString(); }); } var item2 = data2.D.Results.Where(p => p.ProjectName.Equals(projectTitle)).FirstOrDefault(); if (item2 != null) { details.RunOnUiThread(() => { projecType.Text = item2.EnterpriseProjectTypeName; projectOwner.Text = item2.ProjectOwnerName; StringBuilder work = new StringBuilder(); work.Append(item2.ProjectWork.TrimEnd(new char[] { '0', '.' })); if (work.ToString().Equals("")) { work.Append("0"); } StringBuilder temp = new StringBuilder(); temp.Append(item2.ProjectDuration.TrimEnd(new char[] { '0', '.' })); if (temp.ToString().Equals("")) { temp.Append("0"); } int duration = Convert.ToInt32(temp.ToString()) / 8; projectWork.Text = work.ToString() + "h"; projectDuration.Text = duration.ToString() + "d"; }); } }); mRecyclerView = view.FindViewById <RecyclerView>(Resource.Id.rvProjectDetailTeam); mLayoutManager = new LinearLayoutManager(view.Context); mRecyclerView.SetLayoutManager(mLayoutManager); mResources = new Resourcez(); mProjectResources = JsonConvert.DeserializeObject <ProjectResources.RootObject>(details.projectResources); if (mProjectResources.D.Results.Count == 0) { mResources.addResources("No resource available"); } else { foreach (var item in mProjectResources.D.Results) { mResources.addResources(item.Name); } } mProjectResourceAdapter = new ProjectResourceAdapter(mResources); mRecyclerView.SetAdapter(mProjectResourceAdapter); mRecyclerView2 = view.FindViewById <RecyclerView>(Resource.Id.rvProjectDetailTasks); mLayoutManager2 = new LinearLayoutManager(view.Context); mRecyclerView2.SetLayoutManager(mLayoutManager2); mTasks = new Resourcez(); if (details.projectTasksJson != null) { mProjectTasks = JsonConvert.DeserializeObject <AndroidApp1.Taskmodel.RootObject>(details.projectTasksJson); if (mProjectTasks.D.Results.Count == 0) { mTasks.addResources("No Tasks in this project"); } else { foreach (var item in mProjectTasks.D.Results) { mTasks.addResources(item.Name); } } } else { mTasks.addResources("Unable to get the project's tasks"); } mProjectTaskAdapter = new ProjectResourceAdapter(mTasks); mRecyclerView2.SetAdapter(mProjectTaskAdapter); return(view); }