diff options
| -rwxr-xr-x | org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java index aa7cdddf..4956d37e 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java @@ -1451,20 +1451,24 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment implements public void setSelection(ArticlesSelection select) { ArticleList articlesWithoutFooters = Application.getArticles().getWithoutFooters(); - for (Article a : articlesWithoutFooters) - a.selected = false; + for (Article a : articlesWithoutFooters) { + if (select == ArticlesSelection.ALL || select == ArticlesSelection.UNREAD && a.unread) { + a.selected = true; - if (select != ArticlesSelection.NONE) { - for (Article a : articlesWithoutFooters) { - if (select == ArticlesSelection.ALL || select == ArticlesSelection.UNREAD && a.unread) { - a.selected = true; - } + int position = Application.getArticles().getPositionById(a.id); + + if (position != -1) + m_adapter.notifyItemChanged(position); + + } else if (a.selected) { + a.selected = false; + + int position = Application.getArticles().getPositionById(a.id); + + if (position != -1) + m_adapter.notifyItemChanged(position); } } - - if (m_adapter != null) { - m_adapter.notifyDataSetChanged(); - } } public int getActiveArticleId() { |