((ObservableList)newEntries).addOnListChangedCallback(listener);
@Override public void onAttachedToRecyclerView(RecyclerView recyclerView) { if (this.recyclerView == null && items != null && items instanceof ObservableList) { ((ObservableList<T>) items).addOnListChangedCallback(callback); } this.recyclerView = recyclerView; }
@Override public void onAttachedToRecyclerView(@NonNull RecyclerView recyclerView) { if (this.recyclerView == null && items instanceof ObservableList) { ((ObservableList<T>) items).addOnListChangedCallback(callback); } this.recyclerView = recyclerView; }
((ObservableList<T>) data).addOnListChangedCallback(new ObservableList.OnListChangedCallback<ObservableList<T>>() { @Override public void onChanged(ObservableList<T> sender) {
((ObservableList<T>) data).addOnListChangedCallback(new ObservableList.OnListChangedCallback<ObservableList<T>>() { @Override public void onChanged(ObservableList<T> sender) {
((ObservableList<T>) data).addOnListChangedCallback(new ObservableList.OnListChangedCallback<ObservableList<T>>() { @Override public void onChanged(ObservableList<T> sender) {
public void setItems(@Nullable List<T> items) { if (this.items == items) { return; } // If a recyclerview is listening, set up listeners. Otherwise wait until one is attached. // No need to make a sound if nobody is listening right? if (recyclerView != null) { if (this.items instanceof ObservableList) { ((ObservableList<T>) this.items).removeOnListChangedCallback(callback); } if (items instanceof ObservableList) { ((ObservableList<T>) items).addOnListChangedCallback(callback); } } this.items = items; notifyDataSetChanged(); }
public void setItems(List<T> items) { if (this.items == items) { return; } if (this.items instanceof ObservableList) { ((ObservableList<T>) this.items).removeOnListChangedCallback(callback); } if (items instanceof ObservableList) { ((ObservableList<T>) items).addOnListChangedCallback(callback); } this.items = items; notifyDataSetChanged(); }
public void setItems(List<T> items) { if (this.items == items) { return; } // If a recyclerview is listening, set up listeners. Otherwise wait until one is attached. // No need to make a sound if nobody is listening right? if (recyclerView != null) { if (this.items instanceof ObservableList) { ((ObservableList<T>) this.items).removeOnListChangedCallback(callback); } if (items instanceof ObservableList) { ((ObservableList<T>) items).addOnListChangedCallback(callback); } } this.items = items; notifyDataSetChanged(); }
@BindingAdapter({"app:itemList", "app:selector"}) @SuppressWarnings("unchecked") public static void setItems(RecyclerView recyclerView, ObservableList newItems, LayoutSelector layoutSelector) { if (recyclerView.getAdapter() == null) { MyAdapter adapter = new MyAdapter(layoutSelector, newItems); recyclerView.setAdapter(adapter); } else { MyAdapter adapter = (MyAdapter) recyclerView.getAdapter(); List oldItems = adapter.getItemList(); adapter.setItemList(newItems); if ((newItems.size() > 0 && newItems.get(0) instanceof DiffItem) || (oldItems.size() > 0 && oldItems.get(0) instanceof DiffItem)) { DiffUtil.DiffResult diffResult = DiffUtil.calculateDiff(new DiffCallback(oldItems, newItems), true); diffResult.dispatchUpdatesTo(adapter); } else { if (adapter.preview) { adapter.notifyDataSetChanged(); newItems.addOnListChangedCallback(adapter.onListChangedCallback); adapter.preview = false; } } } }
@BindingAdapter({"app:itemList", "app:selector", "app:handler"}) @SuppressWarnings("unchecked") public static void setItems(RecyclerView recyclerView, ObservableList newItems, LayoutSelector layoutSelector, BaseViewModel viewModel) { if (recyclerView.getAdapter() == null) { MyAdapter adapter = new MyAdapter(layoutSelector, newItems); adapter.setHandler(viewModel); recyclerView.setAdapter(adapter); } else { MyAdapter adapter = (MyAdapter) recyclerView.getAdapter(); List oldItems = adapter.getItemList(); adapter.setItemList(newItems); if ((newItems.size() > 0 && newItems.get(0) instanceof DiffItem) || (oldItems.size() > 0 && oldItems.get(0) instanceof DiffItem)) { DiffUtil.DiffResult diffResult = DiffUtil.calculateDiff(new DiffCallback(oldItems, newItems), true); diffResult.dispatchUpdatesTo(adapter); } else { if (adapter.preview) { adapter.notifyDataSetChanged(); newItems.addOnListChangedCallback(adapter.onListChangedCallback); adapter.preview = false; } } } }
@BindingAdapter({"app:itemList", "app:itemRes"}) @SuppressWarnings("unchecked") public static void setItems(RecyclerView recyclerView, ObservableList newItems, int itemRes) { if (recyclerView.getAdapter() == null) { MyAdapter adapter = new MyAdapter(new DefaultLayoutSelector(itemRes), newItems); recyclerView.setAdapter(adapter); } else { MyAdapter adapter = (MyAdapter) recyclerView.getAdapter(); List oldItems = adapter.getItemList(); adapter.setItemList(newItems); if ((newItems.size() > 0 && newItems.get(0) instanceof DiffItem) || (oldItems.size() > 0 && oldItems.get(0) instanceof DiffItem)) { DiffUtil.DiffResult diffResult = DiffUtil.calculateDiff(new DiffCallback(oldItems, newItems), true); diffResult.dispatchUpdatesTo(adapter); } else { if (adapter.preview) { adapter.notifyDataSetChanged(); newItems.addOnListChangedCallback(adapter.onListChangedCallback); adapter.preview = false; } } } }
@BindingAdapter({"app:itemList", "app:itemRes", "app:handler"}) @SuppressWarnings("unchecked") public static void setItems(RecyclerView recyclerView, ObservableList newItems, int itemRes, BaseViewModel viewModel) { if (recyclerView.getAdapter() == null) { MyAdapter adapter = new MyAdapter(new DefaultLayoutSelector(itemRes), newItems); adapter.setHandler(viewModel); recyclerView.setAdapter(adapter); } else { MyAdapter adapter = (MyAdapter) recyclerView.getAdapter(); List oldItems = adapter.getItemList(); adapter.setItemList(newItems); if ((newItems.size() > 0 && newItems.get(0) instanceof DiffItem) || (oldItems.size() > 0 && oldItems.get(0) instanceof DiffItem)) { DiffUtil.DiffResult diffResult = DiffUtil.calculateDiff(new DiffCallback(oldItems, newItems), true); diffResult.dispatchUpdatesTo(adapter); } else { if (adapter.preview) { adapter.notifyDataSetChanged(); newItems.addOnListChangedCallback(adapter.onListChangedCallback); adapter.preview = false; } } } }