public void PostExecute(FileDocumentItem parent, FileDocumentItem[] result, Exception error) { try { UnsubscribeEvents(); AdapterDispose(); var recyclerView = (RecyclerView)View.FindViewById(Resource.Id.gridDocuments); if (recyclerView != null) { var layoutManager = new LinearLayoutManager(Activity, LinearLayoutManager.Vertical, false); recyclerView.SetLayoutManager(layoutManager); _adapter = new FileDocumentAdapter(result); recyclerView.SetAdapter(_adapter); SubscribeEvents(); } if (_txtNoItems != null) { _txtNoItems.Visibility = _adapter?.ItemCount > 0 ? ViewStates.Gone : ViewStates.Visible; } } catch (Exception ex) { Log.Error(ex); error = ex; } finally { PostExecuteHandler?.Invoke(parent); if (error != null) { Toast.MakeText(Activity, GetString(Resource.String.InternalError), AppSettings.ToastLength) .Show(); } } }
private void AdapterDispose() { _adapter?.Dispose(); _adapter = null; }