android.databinding.InverseBindingListener Java Examples
The following examples show how to use
android.databinding.InverseBindingListener.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: CheckBoxBindingAdapterUtils.java From xDrip with GNU General Public License v3.0 | 6 votes |
@BindingAdapter(value = {"onCheckedChanged", "checkedAttrChanged"}, requireAll = false) public static void setListeners(CompoundButton view, final OnCheckedChangeListener listener, final InverseBindingListener attrChange) { if (attrChange == null) { view.setOnCheckedChangeListener(listener); } else { view.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (listener != null) { listener.onCheckedChanged(buttonView, isChecked); } attrChange.onChange(); } }); } }
Example #2
Source File: CheckBoxBindingAdapterUtils.java From xDrip-plus with GNU General Public License v3.0 | 6 votes |
@BindingAdapter(value = {"onCheckedChanged", "checkedAttrChanged"}, requireAll = false) public static void setListeners(CompoundButton view, final OnCheckedChangeListener listener, final InverseBindingListener attrChange) { if (attrChange == null) { view.setOnCheckedChangeListener(listener); } else { view.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (listener != null) { listener.onCheckedChanged(buttonView, isChecked); } attrChange.onChange(); } }); } }
Example #3
Source File: BindingConfig.java From Android-MVVMFramework with Apache License 2.0 | 6 votes |
@BindingAdapter(value = {"onRefreshListener", "refreshingAttrChanged"}, requireAll = false) public static void setOnRefreshListener(final SwipeRefreshLayout view, final SwipeRefreshLayout.OnRefreshListener listener, final InverseBindingListener refreshingAttrChanged) { SwipeRefreshLayout.OnRefreshListener newValue = new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { if (listener != null) { if (refreshingAttrChanged != null) { refreshingAttrChanged.onChange(); } listener.onRefresh(); } } }; SwipeRefreshLayout.OnRefreshListener oldValue = ListenerUtil.trackListener(view, newValue, R.id.onRefreshListener); if (oldValue != null) { view.setOnRefreshListener(null); } view.setOnRefreshListener(newValue); }
Example #4
Source File: BindingConfig.java From Android-MVVMFramework with Apache License 2.0 | 6 votes |
@BindingAdapter(value = {"onRefreshListener", "refreshingAttrChanged"}, requireAll = false) public static void setOnRefreshListener(final SwipeRefreshLayout view, final SwipeRefreshLayout.OnRefreshListener listener, final InverseBindingListener refreshingAttrChanged) { SwipeRefreshLayout.OnRefreshListener newValue = new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { if (listener != null) { if (refreshingAttrChanged != null) { refreshingAttrChanged.onChange(); } listener.onRefresh(); } } }; SwipeRefreshLayout.OnRefreshListener oldValue = ListenerUtil.trackListener(view, newValue, R.id.onRefreshListener); if (oldValue != null) { view.setOnRefreshListener(null); } view.setOnRefreshListener(newValue); }
Example #5
Source File: HuePickerBindingAdapters.java From spline with Apache License 2.0 | 5 votes |
/** * This is how you implement 2-way data binding of a custom attribute if you want to maintain * a custom listener interface - OnHueChangeListener, in this case - while also leveraging * the synthetic attributes hueAttrChanged (the InverseBindingListener). For an example of * how to implement custom 2-way binding with just the synthetic AttrChanged attribute's * InverseBindingListener, see DocumentView or LayerListView's currentLayer 2-way binding * (along with the InverseBindingMethod declarations in DocumentViewModelBindingAdapters). * * @param view The view we're 2-way binding to. * @param onHueChangeListener The OnHueChangeListener bound by the developer on the view * in question. * @param inverseBindingListener Synthetic attribute representing an InverseBindingListener * for changes to the hue attribute. */ @BindingAdapter(value = {"onHueChange", "hueAttrChanged"}, requireAll = false) public static void setListeners(HuePicker view, final HuePicker.OnHueChangeListener onHueChangeListener, final InverseBindingListener inverseBindingListener) { HuePicker.OnHueChangeListener newListener; if (inverseBindingListener == null) { // If the synthetic listener param is null, just keep track of the listener set in // the binding newListener = onHueChangeListener; } else { // Otherwise define a new listener to wraps both listeners and invoke them at the // right time within the new listener if they are non-null newListener = new HuePicker.OnHueChangeListener() { @Override public void onHueChange(HuePicker huePicker, float hue) { if (onHueChangeListener != null) { onHueChangeListener.onHueChange(huePicker, hue); } inverseBindingListener.onChange(); } }; } // Use track listener to record listener we're adding and return any old listeners // registered through this method so that on rebind we don't add duplicate listeners HuePicker.OnHueChangeListener oldListener = ListenerUtil.trackListener(view, newListener, R.id.hueChangeListener); // Remove the old listener we set using this BindingAdapter, if there is one if (oldListener != null) { view.removeHueChangeListener(oldListener); } // Add our new listener if (newListener != null) { view.addHueChangeListener(newListener); } }
Example #6
Source File: LayerListView.java From spline with Apache License 2.0 | 4 votes |
public void setCurrentLayerAttrChanged(InverseBindingListener listener) { mAdapter.setCurrentLayerAttrChanged(listener); }
Example #7
Source File: DocumentView.java From spline with Apache License 2.0 | 4 votes |
public void setCurrentLayerAttrChanged(InverseBindingListener listener) { mCurrentLayerAttrChangedListener = listener; }
Example #8
Source File: DocumentView.java From spline with Apache License 2.0 | 4 votes |
public void setViewportXAttrChanged(InverseBindingListener listener) { mViewportXAttrChangedListener = listener; }
Example #9
Source File: DocumentView.java From spline with Apache License 2.0 | 4 votes |
public void setViewportYAttrChanged(InverseBindingListener listener) { mViewportYAttrChangedListener = listener; }
Example #10
Source File: DocumentView.java From spline with Apache License 2.0 | 4 votes |
public void setViewportWidthAttrChanged(InverseBindingListener listener) { mViewportWidthAttrChangedListener = listener; }
Example #11
Source File: DocumentView.java From spline with Apache License 2.0 | 4 votes |
public void setViewportHeightAttrChanged(InverseBindingListener listener) { mViewportHeightAttrChangedListener = listener; }
Example #12
Source File: SaturationValuePicker.java From spline with Apache License 2.0 | 4 votes |
public void setSaturationAttrChanged(InverseBindingListener listener) { mSaturationAttrChangedListener = listener; }
Example #13
Source File: SaturationValuePicker.java From spline with Apache License 2.0 | 4 votes |
public void setValueAttrChanged(InverseBindingListener listener) { mValueAttrChangedListener = listener; }
Example #14
Source File: RulerView.java From spline with Apache License 2.0 | 4 votes |
public void setViewportStartAttrChanged(InverseBindingListener listener) { mViewportStartAttrChangedListener = listener; }
Example #15
Source File: RulerView.java From spline with Apache License 2.0 | 4 votes |
public void setHighlightStartAttrChanged(InverseBindingListener listener) { mHighlightStartAttrChangedListener = listener; }
Example #16
Source File: LayerListAdapter.java From spline with Apache License 2.0 | 4 votes |
public void setCurrentLayerAttrChanged(InverseBindingListener currentLayerAttrChanged) { mCurrentLayerAttrChangedListener = currentLayerAttrChanged; }