private static ViewDataBinding bindLayout(LayoutInflater inflater,
            ViewGroup parent, int layoutId, Object entry) {
        ViewDataBinding binding = DataBindingUtil.inflate(inflater,
                layoutId, parent, false);
        if (!binding.setVariable(BR.data, entry)) {
            String layoutName = parent.getResources().getResourceEntryName(layoutId);
            Log.w(TAG, "There is no variable 'data' in layout " + layoutName);
        }
        return binding;
    }
Inflates and binds a layout to an entry to the {@code data} variable
of the bound layout.

@param inflater    The LayoutInflater
@param parent      The ViewGroup containing the list of Views
@param layoutId    The layout ID to use for the list item
@param entry       The data to bind to the inflated View
@return A ViewDataBinding, bound to a newly-inflated View with {@code entry}
set as the {@code data} variable.
DataBindingDataBoundList/app/src/main/java/com/example/android/databoundlist/ListBindingAdapters.java