public BaseViewHolder(T t) { super(t.getRoot()); mViewDataBinding = t; } }
@Override public void recycle(@NonNull final View view) { if ((recycleConfig & CLEAR_HANDLERS) != 0) { final ViewDataBinding viewDataBinding = DataBindingUtil.bind(view); for (int i = 0; i < handlers.size(); i++) { viewDataBinding.setVariable(handlers.keyAt(i), null); } viewDataBinding.executePendingBindings(); } } }
@Override public View getView(int position, View convertView, ViewGroup parent) { ViewDataBinding listItemBinding; if (convertView != null) { listItemBinding = (ViewDataBinding) convertView.getTag(); } else { listItemBinding = DataBindingUtil.inflate(LayoutInflater.from(parent.getContext()), R.layout.item_pages, parent, false); convertView = listItemBinding.getRoot(); convertView.setTag(listItemBinding); } listItemBinding.setVariable(BR.pages,pageBeenList.get(position)); listItemBinding.executePendingBindings(); // listItemBinding.setButtonclick(new ButtonClick(MainActivity.this,position)); return convertView; } }
public ViewHolder(ViewDataBinding viewDataBinding) { super(viewDataBinding.getRoot()); viewDataBinding.executePendingBindings(); mDataBinding = viewDataBinding; }
@Override public void onItemRangeChanged(ObservableList observableList, int start, int count) { if (mLayoutId == 0) { return; } LayoutInflater inflater = (LayoutInflater) mTarget.getContext() .getSystemService(Context.LAYOUT_INFLATER_SERVICE); startTransition(mTarget); final int end = start + count; for (int i = start; i < end; i++) { Object data = observableList.get(i); ViewDataBinding binding = bindLayout(inflater, mTarget, mLayoutId, data); binding.setVariable(BR.data, observableList.get(i)); mTarget.removeViewAt(i); mTarget.addView(binding.getRoot(), i); } }
@Test public void shouldBindRepositoryPresenterWithoutItem() { final RepositoryPresenter<String> repositoryPresenter = dataBindingRepositoryPresenterOf(String.class) .layout(LAYOUT_ID) .forItem(); repositoryPresenter.bind(STRING, 0, viewHolder); verify(viewDataBinding).executePendingBindings(); verifyNoMoreInteractions(viewDataBinding); }
binding.setVariable(com.firebase.jobdispatcher.testapp.BR.form, form);
protected final void bindAndAttachContentView(@LayoutRes int layoutResId, @Nullable Bundle savedInstanceState) { if (viewModel == null) { throw new IllegalStateException("viewModel must not be null and should be injected via activityComponent().inject(this)"); } binding = DataBindingUtil.setContentView(this, layoutResId); binding.setVariable(BR.vm, viewModel); binding.setLifecycleOwner(this); //noinspection unchecked viewModel.attachView((MvvmView) this, savedInstanceState); }
} else { listItemBinding = DataBindingUtil.inflate(LayoutInflater.from(parent.getContext()), R.layout.item_filter, parent, false); convertView = listItemBinding.getRoot(); convertView.setTag(listItemBinding); listItemBinding.setVariable(BR.pages,ruleList.get(position)); listItemBinding.executePendingBindings();
public ViewHolder(ViewDataBinding viewDataBinding) { super(viewDataBinding.getRoot()); viewDataBinding.executePendingBindings(); mDataBinding = viewDataBinding; }
protected final View setAndBindContentView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @LayoutRes int layoutResId, Bundle savedInstanceState) { if(viewModel == null) { throw new IllegalStateException("viewModel must not be null and should be injected"); } binding = DataBindingUtil.inflate(inflater, layoutResId, container, false); binding.setVariable(BR.vm, viewModel); //noinspection unchecked viewModel.attachView((MvvmView) this, savedInstanceState); return binding.getRoot(); }
@Test public void shouldHandleRecycleOfRepositoryPresenterWithoutItemId() { final RepositoryPresenter<String> repositoryPresenter = dataBindingRepositoryPresenterOf(String.class) .layout(LAYOUT_ID) .onRecycle(CLEAR_ALL) .forItem(); repositoryPresenter.recycle(viewHolder); verify(viewDataBinding).executePendingBindings(); verifyNoMoreInteractions(viewDataBinding); }
@Override protected void bindItem(DataBoundViewHolder holder, int position, List payloads) { holder.binding.setVariable(BR.data, mItems.get(position)); }
@Override public void bind(@NonNull final View view) { final ViewDataBinding viewDataBinding = DataBindingUtil.bind(view); for (int i = 0; i < handlers.size(); i++) { final int variableId = handlers.keyAt(i); viewDataBinding.setVariable(variableId, handlers.get(variableId)); } viewDataBinding.executePendingBindings(); }
public DataBoundViewHolder(T binding) { super(binding.getRoot()); this.binding = binding; }
@Override public void destroyItem(ViewGroup container, int position, Object object) { ViewDataBinding binding = (ViewDataBinding) object; binder.bind(binding, null); binding.executePendingBindings(); container.removeView(binding.getRoot()); }
@Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { model = getArguments().getParcelable(Model); if (model != null) { binding = DataBindingUtil.inflate(inflater, model.layoutId(), container, false); binding.setVariable(BR.model, model); model.onCreateView(binding.getRoot()); } return binding.getRoot(); }
@Override public final void onBindViewHolder(DataBoundViewHolder<T> holder, int position, List<Object> payloads) { // when a VH is rebound to the same item, we don't have to call the setters if (payloads.isEmpty() || hasNonDataBindingInvalidate(payloads)) { bindItem(holder, position, payloads); } holder.binding.executePendingBindings(); }
@Override protected void bindItem(DataBoundViewHolder holder, int position, List payloads) { super.bindItem(holder, position, payloads); // this will work even if the layout does not have a callback parameter holder.binding.setVariable(BR.callback, mActionCallback); }
@Override public void onBindViewHolder(BaseViewHolder holder, int position) { Object item = getItem(position); if (needHint && holder.itemView.getTag() == null) { holder.itemView.setTag(item); holder.itemView.postDelayed(() -> { holder.mViewDataBinding.setVariable(BR.item, holder.itemView.getTag()); holder.mViewDataBinding.executePendingBindings(); }, 800); } else { if (needHint) holder.itemView.setTag(item); holder.mViewDataBinding.setVariable(BR.item, item); holder.mViewDataBinding.executePendingBindings(); } }