public void Redraw() { if (annTask != null && annTask.status == AsyncTask.Status.Running) { return; } settingsChanged = false; AnnTask.UpdateVars(this); int currentTop = linesRecyclerView.GetChildAt(0).Top; annTask = new AnnTask(this, AnnTask.TASK_ANNOTATE, annoMode, curPos, startPos, endPos, 5, 0, lines, new List <object>(), pastedText, textLen, openedFile, testView, UpdateLinesAnnInterface, true, mBookmarks); annTask.RedrawLines(linesRecyclerView); startPos = annTask.startPos; endPos = annTask.endPos; linesAdapter.NotifyDataSetChanged(); if (startPos > 0) { linesAdapter.ShowHeader = true; } RecyclerView ll = linesRecyclerView; ll.ClearFocus(); ll.Post(() => { ll.RequestFocusFromTouch(); ((LinearLayoutManager)ll.GetLayoutManager()).ScrollToPositionWithOffset(1, currentTop); ll.RequestFocus(); }); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); System.Console.WriteLine("AnnotationActivity >> OnCreate"); app = this; try { if (FindViewById(Resource.Id.lines) != null) { AnnTask.UpdateVars(this); CheckIsShared(); return; } curFilePath = ""; isFirstAnnotation = true; isFirstFileAnnotation = true; PreferenceManager.SetDefaultValues(this, Resource.Xml.preferences, false); sharedPrefs = PreferenceManager.GetDefaultSharedPreferences(this); SetContentView(Resource.Layout.MainActivity); mToolbar = (Toolbar)FindViewById(Resource.Id.toolbar); // Attaching the layout to the toolbar object SetSupportActionBar(mToolbar); SupportActionBar.SetDisplayShowHomeEnabled(true); SupportActionBar.SetIcon(Resource.Drawable.logo_toolbar); wPopup = new WordPopup(this); testView = new LineView(this); testView.UpdateVars(); lines = new List <List <object> >(); linesRecyclerView = (CustomRecyclerView)FindViewById(Resource.Id.lines); linesRecyclerView.mMainActivity = this; linesLayoutManager = new LinearLayoutManager(this); linesRecyclerView.SetLayoutManager(linesLayoutManager); linesAdapter = new AnnListAdapter(this, this.lines, linesRecyclerView, wPopup); linesRecyclerView.SetAdapter(linesAdapter); defaultItemAnimator = linesRecyclerView.GetItemAnimator(); linesRecyclerView.AddOnScrollListener(new RecyclerViewOnScrollListener(this)); mBookmarks = new List <Bookmark>(); mFoundBookmarks = new List <Bookmark>(); } catch (Exception e) { Toast.MakeText(this, "Error: " + e.Message, ToastLength.Long).Show(); } }