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); } } } }