@Override
        protected void bindItem(DataBoundViewHolder<CityItemBinding> holder, int position,
                                List<Object> payloads) {
            holder.binding.setData(mCityList.get(position));
            holder.binding.setCallback(mActionCallback);
        }
This is an example of a data bound adapter use case where all items have the same type.
<p>
The parent class handles the item creation and this child class only implements the
bindItem to set values in a type checked way.
DataBindingDataBoundRecyclerView/app/src/main/java/com/example/android/databoundrecyclerview/MainActivity.java