package com.kelin.mvvmlight.bindingadapter.viewgroup;
import android.databinding.BindingAdapter;
import android.databinding.DataBindingUtil;
import android.databinding.ObservableList;
import android.databinding.ViewDataBinding;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import com.kelin.mvvmlight.base.ViewModel;
import me.tatarka.bindingcollectionadapter.ItemView;
/**
* Created by kelin on 16-3-24.
*/
public final class ViewBindingAdapter {
@BindingAdapter({"itemView", "viewModels"})
public static void addViews(ViewGroup viewGroup, final ItemView itemView, final ObservableList<ViewModel> viewModelList) {
if (viewModelList != null && !viewModelList.isEmpty()) {
viewGroup.removeAllViews();
for (ViewModel viewModel : viewModelList) {
ViewDataBinding binding = DataBindingUtil.inflate(LayoutInflater.from(viewGroup.getContext()),
itemView.layoutRes(), viewGroup, true);
binding.setVariable(itemView.bindingVariable(), viewModel);
}
}
}
}