コード例 #1
0
 private void InitRecyclerView()
 {
     _recyclerView = FindViewById <RecyclerView>(Resource.Id.activity_chat_new_filtered_members);
     _recyclerView.HasFixedSize = true;
     _recyclerView.SetLayoutManager(new LinearLayoutManager(this));
     _recyclerView.AddItemDecoration(new LeftOffsetItemDecoration(this, Resource.Color.chat_divider_color, 72));
     _recyclerViewAdapter = new ObservableRecyclerViewAdapter <ChatUserViewModel>(
         ViewModel.PaginationViewModel.Items,
         (parent, i) =>
     {
         var v = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.item_chat_new_contact, parent, false);
         return(new FilteredItemViewHolder(v, ViewModel.CreatePersonalChatCommand));
     },
         (holder, i, item) =>
     {
         var viewHolder = (FilteredItemViewHolder)holder;
         viewHolder.Bind(item);
     });
     _recyclerView.SetAdapter(_recyclerViewAdapter);
     _recyclerView.AddOnScrollListener(new LoadMoreScrollListener(new TaskReference(async() =>
     {
         await ViewModel.PaginationViewModel.LoadNextPageAsync();
     })));
     _searchNoResultView      = FindViewById <SearchNoResultView>(Resource.Id.search_no_result_container);
     _searchNoResultView.Text = ViewModel.LocalizedStrings.SearchNoResults;
 }
コード例 #2
0
 private void InitFilteredRecyclerView(View view)
 {
     _filteredMembers = view.FindViewById <RecyclerView>(Resource.Id.dialog_select_members_filtered_members);
     _filteredMembers.HasFixedSize = true;
     _filteredMembers.SetLayoutManager(new LinearLayoutManager(Context));
     _filteredMembers.AddItemDecoration(new DividerItemDecoration(Context, DividerItemDecoration.Vertical));
     _filteredAdapter = new ObservableRecyclerViewAdapter <ChatUserViewModel>(
         ViewModel.PaginationViewModel.Items,
         (parent, i) =>
     {
         var v = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.view_holder_member_filter_item, parent, false);
         return(new FilteredItemViewHolder(v, new RelayCommand <ChatUserViewModel>(x =>
         {
             x.IsSelected = !x.IsSelected;
         })));
     },
         (holder, i, item) =>
     {
         var viewHolder = (FilteredItemViewHolder)holder;
         viewHolder.Bind(item);
     });
     _filteredMembers.SetAdapter(_filteredAdapter);
     _filteredMembers.AddOnScrollListener(new LoadMoreScrollListener(new TaskReference(async() =>
     {
         await ViewModel.PaginationViewModel.LoadNextPageAsync();
     })));
 }
コード例 #3
0
 private void InitSelectedRecyclerView(View view)
 {
     _addedMembers = view.FindViewById <RecyclerView>(Resource.Id.dialog_select_members_added_members);
     _addedMembers.SetLayoutManager(new LinearLayoutManager(Context, LinearLayoutManager.Horizontal, false));
     _selectedAdapter = new ObservableRecyclerViewAdapter <ChatUserViewModel>(
         ViewModel.SelectedContacts,
         (parent, i) =>
     {
         var v = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.view_holder_member, parent, false);
         return(new SelectedContactViewHolder(v));
     },
         (holder, i, item) =>
     {
         var viewHolder = (SelectedContactViewHolder)holder;
         viewHolder.Bind(item);
     });
     _addedMembers.SetAdapter(_selectedAdapter);
 }