android.databinding.ViewDataBinding

Here are the examples of the java api android.databinding.ViewDataBinding taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

99 Examples 7

19 Source : StartActivity.java
with Apache License 2.0
from xujiaji

@Override
public void onBinding(@NonNull ViewDataBinding binding) {
}

19 Source : TextContentAdapter.java
with Apache License 2.0
from xiaobailong24

@Override
protected void convert(BaseBindHolder helper, TextContent item) {
    ViewDataBinding binding = helper.getBinding();
    binding.setVariable(BR.content, item);
    binding.executePendingBindings();
}

19 Source : BaseBindAdapter.java
with Apache License 2.0
from xiaobailong24

@Override
protected View gereplacedemView(int layoutResId, ViewGroup parent) {
    ViewDataBinding binding = DataBindingUtil.inflate(mLayoutInflater, layoutResId, parent, false);
    if (binding == null) {
        return super.gereplacedemView(layoutResId, parent);
    }
    View view = binding.getRoot();
    view.setTag(R.id.BaseQuickAdapter_databinding_support, binding);
    return view;
}

19 Source : StillsAdapter.java
with Apache License 2.0
from woxingxiao

@Override
protected void onBind(@NonNull ViewDataBinding binding, MovieStills.Stills item, int position) {
    super.onBind(binding, item, position);
    binding.getRoot().setOnClickListener(v -> {
        ArrayList<String> urls = new ArrayList<>();
        for (MovieStills.Stills stills : getData()) {
            urls.add(stills.imgUrl);
        }
        ((MovieDetailActivity) getContext()).gotoPreviewImages(urls, position);
    });
}

19 Source : BaseBindingListAdapter.java
with Apache License 2.0
from woxingxiao

protected void onBind(@NonNull BaseBindingVH holder, @NonNull ViewDataBinding binding, T item, int position) {
}

19 Source : BaseBindingListAdapter.java
with Apache License 2.0
from woxingxiao

protected void onBind(@NonNull ViewDataBinding binding, T item, int position) {
}

19 Source : BaseActivity.java
with Apache License 2.0
from wheat7

/**
 * Created by wheat7 on 05/07/2017.
 */
public abstract clreplaced BaseActivity<T extends ViewDataBinding> extends AppCompatActivity {

    private View mainView;

    private ViewDataBinding binding;

    @Override
    public void setContentView(@LayoutRes int layoutResID) {
        super.setContentView(layoutResID);
        setStatusBar();
    }

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        int layoutId = getLayoutId();
        super.onCreate(savedInstanceState);
        try {
            binding = DataBindingUtil.setContentView(this, layoutId);
            if (binding != null) {
                mainView = binding.getRoot();
            } else {
                mainView = LayoutInflater.from(this).inflate(layoutId, null);
                setContentView(mainView);
            }
        } catch (NoClreplacedDefFoundError e) {
            mainView = LayoutInflater.from(this).inflate(layoutId, null);
            setContentView(mainView);
        }
        initView(savedInstanceState);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
    }

    // Set StatusBar,Child can Override to Set
    protected void setStatusBar() {
        StatusBarUtil.setColor(this, getResources().getColor(R.color.colorPrimary));
    }

    public T getBinding() {
        return (T) binding;
    }

    public abstract int getLayoutId();

    public abstract void initView(Bundle savedInstanceState);
}

19 Source : BaseDataBindingViewHolder.java
with Apache License 2.0
from wheat7

/**
 * Created by wheat7 on 14/08/2017.
 */
public abstract clreplaced BaseDataBindingViewHolder<T extends ViewDataBinding> extends RecyclerView.ViewHolder {

    private ViewDataBinding viewDataBinding;

    public BaseDataBindingViewHolder(View itemView) {
        super(itemView);
    }

    public BaseDataBindingViewHolder(ViewGroup itemView) {
        super(itemView);
        this.viewDataBinding = DataBindingUtil.bind(this.itemView);
    }

    public BaseDataBindingViewHolder(ViewGroup parent, @LayoutRes int res) {
        super(LayoutInflater.from(parent.getContext()).inflate(res, parent, false));
        this.viewDataBinding = DataBindingUtil.bind(itemView);
    }

    public T getBinding() {
        return (T) this.viewDataBinding;
    }

    public Context getContext() {
        return itemView.getContext();
    }
}

19 Source : BaseFragment.java
with Apache License 2.0
from wheat7

/**
 * Created by wheat7 on 2017/8/5.
 */
public abstract clreplaced BaseFragment<T extends ViewDataBinding> extends Fragment {

    public View mainLayout;

    private ViewDataBinding binding;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
        int layoutId = getLayoutId();
        try {
            binding = DataBindingUtil.inflate(inflater, layoutId, container, false);
            mainLayout = binding.getRoot();
        } catch (NoClreplacedDefFoundError e) {
            mainLayout = inflater.inflate(layoutId, container, false);
        }
        mainLayout.setClickable(true);
        initView(savedInstanceState);
        return mainLayout;
    }

    public T getBinding() {
        return (T) binding;
    }

    public abstract int getLayoutId();

    public abstract void initView(Bundle savedInstanceState);
}

19 Source : BaseActivity.java
with Apache License 2.0
from wheat7

/**
 * Created by wheat7 on 05/07/2017.
 */
public abstract clreplaced BaseActivity<T extends ViewDataBinding> extends AppCompatActivity {

    private View mainView;

    private ViewDataBinding binding;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        int layoutId = getLayoutId();
        super.onCreate(savedInstanceState);
        SwipeBackHelper.onCreate(this);
        SwipeBackHelper.getCurrentPage(this).setSwipeBackEnable(true).setSwipeSensitivity(0.5f).setSwipeRelateEnable(true).setSwipeRelateOffset(300).setSwipeEdgePercent(0.1f);
        try {
            binding = DataBindingUtil.setContentView(this, layoutId);
            if (binding != null) {
                mainView = binding.getRoot();
            } else {
                mainView = LayoutInflater.from(this).inflate(layoutId, null);
                setContentView(mainView);
            }
        } catch (NoClreplacedDefFoundError e) {
            mainView = LayoutInflater.from(this).inflate(layoutId, null);
            setContentView(mainView);
        }
        initView(savedInstanceState);
    }

    @Override
    public void onPostCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState) {
        super.onPostCreate(savedInstanceState, persistentState);
        SwipeBackHelper.onPostCreate(this);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        SwipeBackHelper.onDestroy(this);
    }

    public T getBinding() {
        return (T) binding;
    }

    public abstract int getLayoutId();

    public abstract void initView(Bundle savedInstanceState);
}

19 Source : OnlyViewHolder.java
with Apache License 2.0
from tikivn

/**
 * Created by Giang Nguyen on 8/14/16.
 */
clreplaced OnlyViewHolder extends AbsViewHolder {

    private final ViewDataBinding binding;

    private ExtraBinding extraBinding;

    OnlyViewHolder(ViewDataBinding binding, ExtraBinding extraBinding) {
        super(binding.getRoot());
        this.binding = binding;
        this.extraBinding = extraBinding;
    }

    @Override
    public void bind(Object item) {
        super.bind(item);
        binding.setVariable(vn.tiki.noadapter2.databinding.BR.item, item);
        binding.executePendingBindings();
        final int position = getAdapterPosition();
        if (extraBinding != null && position > RecyclerView.NO_POSITION) {
            extraBinding.onBind(binding, item, position);
        }
    }

    @Override
    protected void setOnItemClickListener(OnItemClickListener onItemClickListener) {
        super.setOnItemClickListener(onItemClickListener);
        if (onItemClickListener == null) {
            return;
        }
        binding.setVariable(vn.tiki.noadapter2.databinding.BR.onClick, this);
    }
}

19 Source : DataBindingViewHolder.java
with Apache License 2.0
from ricknout

public clreplaced DataBindingViewHolder extends RecyclerView.ViewHolder {

    private final ViewDataBinding mBinding;

    public DataBindingViewHolder(ViewDataBinding binding) {
        super(binding.getRoot());
        mBinding = binding;
    }

    public void bind(Object item) {
        mBinding.setVariable(BR.item, item);
        mBinding.executePendingBindings();
    }

    public ViewDataBinding getBinding() {
        return mBinding;
    }
}

19 Source : TypeSortAdapter.java
with Apache License 2.0
from purezhi

@Override
protected void convert(DataBindingViewHolder helper, RecordType item) {
    ViewDataBinding binding = helper.getBinding();
    binding.setVariable(BR.recordType, item);
    binding.executePendingBindings();
}

19 Source : RecordAdapter.java
with Apache License 2.0
from purezhi

@Override
protected void convert(DataBindingViewHolder helper, RecordWithType item) {
    ViewDataBinding binding = helper.getBinding();
    helper.addOnLongClickListener(R.id.ll_item_click);
    binding.setVariable(BR.recordWithType, item);
    binding.executePendingBindings();
}

19 Source : OpenSourceAdapter.java
with Apache License 2.0
from purezhi

@Override
protected void convert(DataBindingViewHolder helper, OpenSourceBean item) {
    ViewDataBinding binding = helper.getBinding();
    binding.setVariable(BR.openSource, item);
    binding.executePendingBindings();
}

19 Source : MulTypeBindngAdapter.java
with Apache License 2.0
from mcxtzhang

// 重写利用DataBinding做
@Override
public View getView(ViewGroup parent, int pos, T data) {
    ViewHolder holder = getViewHolderByType(parent, data.gereplacedemLayoutId());
    ViewDataBinding binding = (ViewDataBinding) holder.itemView.getTag(R.id.zxt_tag_vdb);
    onBindViewHolder(parent, holder, data, pos);
    binding.setVariable(BR.data, data);
    binding.setVariable(BR.itemP, ItemPresenter);
    return holder.itemView;
}

19 Source : MvvmActivity.java
with Apache License 2.0
from manas-chaudhari

/**
 * Inflates the provided view and binds the provided ViewModel based on default
 * binder provided to the library
 */
public abstract clreplaced MvvmActivity extends AppCompatActivity {

    private ViewDataBinding binding;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        binding = DataBindingUtil.setContentView(this, getLayoutId());
        getDefaultBinder().bind(binding, createViewModel());
    }

    @Override
    protected void onDestroy() {
        getDefaultBinder().bind(binding, null);
        binding.executePendingBindings();
        super.onDestroy();
    }

    @NonNull
    private ViewModelBinder getDefaultBinder() {
        ViewModelBinder defaultBinder = BindingUtils.getDefaultBinder();
        Preconditions.checkNotNull(defaultBinder, "Default Binder");
        return defaultBinder;
    }

    @NonNull
    protected abstract ViewModel createViewModel();

    @LayoutRes
    protected abstract int getLayoutId();
}

19 Source : BaseFragment.java
with Apache License 2.0
from lianghuiyong

/**
 * Created by [email protected] on 2016/6/22.
 */
public abstract clreplaced BaseFragment extends Fragment implements BaseViewInterface, MvpView {

    private Unbinder unbinder;

    private ViewDataBinding binding;

    protected abstract MvpPresenter getPresenter();

    protected abstract int getLayoutId();

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        EventBus.getDefault().register(this);
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        binding = DataBindingUtil.inflate(inflater, getLayoutId(), container, false);
        unbinder = ButterKnife.bind(this, binding.getRoot());
        return getView();
    }

    @Override
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        initRecyclerView();
        init();
        initTabs();
    }

    @Override
    public void onDestroyView() {
        super.onDestroyView();
        unbinder.unbind();
    }

    @Override
    public void onStart() {
        super.onStart();
    }

    @Subscribe
    public void onEvent(String string) {
    }

    @Override
    public void init() {
    }

    @Override
    public void initRecyclerView() {
    }

    @Override
    public void initTabs() {
    }

    @Override
    public void showToast(String toast) {
        ToastUtils.showToast(toast);
    }

    protected ViewDataBinding getBinding() {
        return binding;
    }

    @Override
    public View getView() {
        return binding.getRoot();
    }

    @Override
    public void onResume() {
        super.onResume();
        if (getPresenter() != null) {
            getPresenter().subscribe();
        }
    }

    @Override
    public void onPause() {
        super.onPause();
        if (getPresenter() != null) {
            getPresenter().unSubscribe();
        }
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        EventBus.getDefault().unregister(this);
    }

    public void nextActivity(Clreplaced<?> cls) {
        Intent intent = new Intent(getContext(), cls);
        startActivity(intent);
    }

    public void nextActivity(Clreplaced<?> cls, Bundle bundle) {
        Intent intent = new Intent();
        intent.setClreplaced(getContext(), cls);
        if (bundle != null) {
            intent.putExtras(bundle);
        }
        startActivity(intent);
    }
}

19 Source : ViewPagerModel.java
with Apache License 2.0
from JingZhuanDuoYing

@Override
protected void setDataBindingVariables(ViewDataBinding binding) {
    LayoutViewPagerBinding b = (LayoutViewPagerBinding) binding;
    b.viewPager.setAdapter(pagerAdapter);
}

19 Source : ScatterChartModel.java
with Apache License 2.0
from JingZhuanDuoYing

@Override
protected void setDataBindingVariables(ViewDataBinding binding) {
    if (binding instanceof LayoutCombineChartBinding) {
        Drawable drawable = AppCompatResources.getDrawable(binding.getRoot().getContext(), R.drawable.ic_example);
        scatterDataSet.setShape(drawable);
        LayoutCombineChartBinding bd = (LayoutCombineChartBinding) binding;
        bd.combineChart.addDataSet(scatterDataSet);
    }
}

19 Source : ScatterChart2Model.java
with Apache License 2.0
from JingZhuanDuoYing

@Override
protected void setDataBindingVariables(ViewDataBinding binding) {
    if (binding instanceof LayoutScatterChartBinding) {
        Drawable drawable = AppCompatResources.getDrawable(binding.getRoot().getContext(), R.drawable.shape_circle);
        scatterDataSet.setShape(drawable);
        LayoutScatterChartBinding bd = (LayoutScatterChartBinding) binding;
        bd.combineChart.getAxisBottom().setGridCount(1);
        bd.combineChart.getAxisLeft().setGridCount(1);
        bd.combineChart.addDataSet(scatterDataSet);
    }
}

19 Source : MinuteChartModel.java
with Apache License 2.0
from JingZhuanDuoYing

@Override
protected void setDataBindingVariables(ViewDataBinding binding) {
}

19 Source : ScatterChart2Model.java
with Apache License 2.0
from JingZhuanDuoYing

@Override
protected void setDataBindingVariables(ViewDataBinding binding) {
    if (binding instanceof LayoutScatterChartBinding) {
        Drawable drawable = AppCompatResources.getDrawable(binding.getRoot().getContext(), R.drawable.shape_circle);
        scatterDataSet.setShape(drawable);
        LayoutScatterChartBinding bd = (LayoutScatterChartBinding) binding;
        bd.combineChart.getAxisBottom().setGridCount(1);
        bd.combineChart.getAxisLeft().setGridCount(1);
        bd.combineChart.addDataSet(scatterDataSet);
        bd.combineChart.setOnEntryClickListener(new OnEntryClickListener() {

            @Override
            public void onEntryClick(Chart chart, int position) {
                if (position >= 0) {
                    Toast.makeText(chart.getContext(), textList.get(position), Toast.LENGTH_SHORT).show();
                }
            }
        });
    }
}

19 Source : BindingHolder.java
with GNU General Public License v3.0
from Jasper-1024

/**
 * Created by ZHANG on 2017/11/26.
 */
public clreplaced BindingHolder extends RecyclerView.ViewHolder {

    private ViewDataBinding binding;

    public BindingHolder(ViewDataBinding binding) {
        super(binding.getRoot());
        this.binding = binding;
    }

    public void bindData(BindingAdapterItem item) {
        binding.setVariable(BR.item, item);
        binding.executePendingBindings();
    }
}

19 Source : EmployeeAdapter.java
with Apache License 2.0
from InnoFang

@Override
public BindingViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    ViewDataBinding binding;
    if (viewType == ITEM_VIEW_TYPE_ON) {
        binding = DataBindingUtil.inflate(mLayoutInflater, R.layout.item_employee, parent, false);
    } else {
        binding = DataBindingUtil.inflate(mLayoutInflater, R.layout.item_employee_off, parent, false);
    }
    return new BindingViewHolder(binding);
}

19 Source : DataBindItemInput.java
with Apache License 2.0
from free46000

@Override
protected void initInputView(BaseViewHolder holder) {
    ViewDataBinding dataBinding = DataBindingUtil.getBinding(holder.itemView);
    initInputView(dataBinding);
}

19 Source : DataBindViewHolderManager.java
with Apache License 2.0
from free46000

/**
 * 绑定数据到视图 {@link ItemBindView}
 *
 * @param dataBinding item视图对应dataBinding类
 * @param data        数据源
 */
@Override
protected void onBindViewHolder(ViewDataBinding dataBinding, T data) {
    itemBindView.onBindViewHolder(dataBinding, data);
}

19 Source : BindViewHolderManager.java
with Apache License 2.0
from free46000

@Override
public void onBindViewHolder(BaseViewHolder holder, T data) {
    ViewDataBinding dataBinding = DataBindingUtil.getBinding(holder.itemView);
    onBindViewHolder(dataBinding, data);
// dataBinding.executePendingBindings();
}

19 Source : ItemEmptyAndError.java
with Apache License 2.0
from free46000

@Override
protected void onBindViewHolder(ViewDataBinding dataBinding, ItemEmptyAndError data) {
    dataBinding.setVariable(BR.itemData, data);
}

19 Source : ItemInfoDataBind.java
with Apache License 2.0
from free46000

@Override
protected void initInputView(ViewDataBinding dataBinding) {
    // 把自身实例对象通过ViewDataBinding绑定到视图中
    dataBinding.setVariable(BR.itemData, this);
}

19 Source : DataBindActivity.java
with Apache License 2.0
from free46000

// 将数据绑定的视图中,具体代码由DataBinding库自动生成
private void onBindViewHolder(ViewDataBinding dataBinding, Object data) {
    // 还可以写一些其他的绑定业务逻辑......
    dataBinding.setVariable(BR.itemData, data);
}

19 Source : OneTypeItemSourceListAdapter.java
with Apache License 2.0
from foreveruseful

@Override
public View getView(int i, View view, ViewGroup viewGroup) {
    ViewDataBinding binding;
    PositionListeners pl;
    if (view != null) {
        binding = (ViewDataBinding) view.getTag(R.id.binding);
        pl = (PositionListeners) view.getTag(R.id.pl);
    } else {
        view = inflater.inflate(source.itemViewId, null);
        binding = DataBindingUtil.bind(view);
        view.setTag(R.id.binding, binding);
        pl = new PositionListeners();
        pl.listeners = source.listeners;
        view.setTag(R.id.pl, pl);
    }
    binding.setVariable(BR.item, gereplacedem(i));
    try {
        pl.position = i;
        binding.setVariable(BR.pl, pl);
    } catch (Exception e) {
    }
    return view;
}

18 Source : BaseBindingListAdapter.java
with Apache License 2.0
from woxingxiao

protected void onBind(@NonNull BaseBindingVH holder, @NonNull ViewDataBinding binding, T item, int position, int viewType) {
    onBind(holder, binding, item, position);
    onBind(binding, item, position);
    binding.setVariable(BR.model, item);
}

18 Source : ActorsAdapter.java
with Apache License 2.0
from woxingxiao

@Override
protected void onBind(@NonNull ViewDataBinding binding, Actor item, int position) {
    super.onBind(binding, item, position);
    binding.getRoot().setOnClickListener(v -> {
        ArrayList<String> urls = new ArrayList<>();
        for (Actor actor : getData()) {
            urls.add(actor.img);
        }
        ((MovieDetailActivity) getContext()).gotoPreviewImages(urls, position);
    });
}

18 Source : StoryAdapter.java
with Apache License 2.0
from ricknout

@Override
public void onBindViewHolder(DataBindingViewHolder holder, int position) {
    super.onBindViewHolder(holder, position);
    ViewDataBinding binding = holder.getBinding();
    binding.setVariable(BR.listener, mStoryListener);
    binding.executePendingBindings();
}

18 Source : MyAdapter.java
with Apache License 2.0
from RealMoMo

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ViewDataBinding binding = null;
    if (convertView == null) {
        binding = DataBindingUtil.inflate(inflater, layoutResId, parent, false);
    } else {
        binding = DataBindingUtil.getBinding(convertView);
    }
    binding.setVariable(variableId, list.get(position));
    return binding.getRoot();
}

18 Source : TypeManageAdapter.java
with Apache License 2.0
from purezhi

@Override
protected void convert(DataBindingViewHolder helper, RecordType item) {
    ViewDataBinding binding = helper.getBinding();
    binding.setVariable(BR.recordType, item);
    boolean isLasreplacedem = helper.getAdapterPosition() == mData.size() - 1;
    // 单位是 dp
    binding.setVariable(BR.bottomMargin, isLasreplacedem ? 100 : 0);
    binding.executePendingBindings();
}

18 Source : HomeAdapter.java
with Apache License 2.0
from purezhi

@Override
protected void convert(DataBindingViewHolder helper, RecordWithType item) {
    ViewDataBinding binding = helper.getBinding();
    helper.addOnLongClickListener(R.id.ll_item_click);
    binding.setVariable(BR.recordWithType, item);
    boolean isDataShow = helper.getAdapterPosition() == 0 || !DateUtils.isSameDay(item.time, getData().get(helper.getAdapterPosition() - 1).time);
    binding.setVariable(BR.isDataShow, isDataShow);
    binding.executePendingBindings();
}

18 Source : TypeImgAdapter.java
with Apache License 2.0
from purezhi

@Override
protected void convert(DataBindingViewHolder helper, TypeImgBean item) {
    ViewDataBinding binding = helper.getBinding();
    binding.setVariable(BR.typeImg, item);
    binding.executePendingBindings();
}

18 Source : BaseFragment.java
with Apache License 2.0
from purezhi

/**
 * 1.ViewDataBinding 封装
 * 2.数据懒加载:配合 ViewPager 时,需要 ViewPager#setOffscreenPageLimit 为最大
 * https://github.com/Lesincs/LazyInitFrag-Demo/
 * https://juejin.im/post/5a9398b56fb9a0634e6cb19a
 *
 * @author Bakumon https://bakumon.me
 * @date 2018/5/23
 */
public abstract clreplaced BaseFragment extends Fragment {

    /**
     * 标志位 判断数据是否初始化
     */
    private boolean isInitData = false;

    /**
     * 标志位 判断fragment是否可见
     */
    private boolean isVisibleToUser = false;

    /**
     * 标志位 判断view已经加载完成 避免空指针操作
     */
    private boolean isPrepareView = false;

    private ViewDataBinding dataBinding;

    protected final CompositeDisposable mDisposable = new CompositeDisposable();

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        dataBinding = DataBindingUtil.inflate(inflater, getLayoutId(), container, false);
        View rootView = dataBinding.getRoot();
        onInit(savedInstanceState);
        return rootView;
    }

    /**
     * 子类必须实现,用于创建 view
     *
     * @return 布局文件 Id
     */
    @LayoutRes
    protected abstract int getLayoutId();

    /**
     * 开始的方法
     *
     * @param savedInstanceState 保存的 Bundle
     */
    protected abstract void onInit(@Nullable Bundle savedInstanceState);

    /**
     * 获取 ViewDataBinding
     *
     * @param <T> BaseFragment#getLayoutId() 布局创建的 ViewDataBinding
     *            如 R.layout.fragment_demo 会创建出 FragmentDemoBinding.java
     * @return T
     */
    protected <T extends ViewDataBinding> T getDataBinding() {
        return (T) dataBinding;
    }

    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        isPrepareView = true;
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        initData();
    }

    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        this.isVisibleToUser = isVisibleToUser;
        initData();
    }

    /**
     * 懒加载方法
     */
    private void initData() {
        if (!isInitData && isVisibleToUser && isPrepareView) {
            isInitData = true;
            lazyInitData();
        }
    }

    /**
     * 加载数据的方法,由子类实现
     */
    protected abstract void lazyInitData();

    protected View inflate(@LayoutRes int resource) {
        return getLayoutInflater().inflate(resource, null, false);
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        mDisposable.clear();
    }
}

18 Source : BaseActivity.java
with Apache License 2.0
from purezhi

/**
 * 1.沉浸式状态栏
 * 2.ViewDataBinding 封装
 *
 * @author Bakumon
 * @date 18-1-17
 */
public abstract clreplaced BaseActivity extends AppCompatActivity {

    private ViewDataBinding dataBinding;

    protected final CompositeDisposable mDisposable = new CompositeDisposable();

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        dataBinding = DataBindingUtil.setContentView(this, getLayoutId());
        onInit(savedInstanceState);
    }

    /**
     * 子类必须实现,用于创建 view
     *
     * @return 布局文件 Id
     */
    @LayoutRes
    protected abstract int getLayoutId();

    /**
     * 获取 ViewDataBinding
     *
     * @param <T> BaseActivity#getLayoutId() 布局创建的 ViewDataBinding
     *            如 R.layout.activity_demo 会创建出 ActivityDemoBinding.java
     * @return T
     */
    protected <T extends ViewDataBinding> T getDataBinding() {
        return (T) dataBinding;
    }

    /**
     * 设置沉浸式状态栏
     */
    private void setImmersiveStatus() {
        View[] views = setImmersiveView();
        if (views == null || views.length < 1) {
            return;
        }
        StatusBarUtil.immersive(this);
        for (View view : views) {
            StatusBarUtil.setPaddingSmart(this, view);
        }
    }

    /**
     * 子类重写该方法设置沉浸式状态栏
     *
     * @return null 或 view[]大小为0,则不启用沉浸式
     */
    protected View[] setImmersiveView() {
        ViewGroup rootView = (ViewGroup) dataBinding.getRoot();
        return new View[] { rootView.getChildAt(0) };
    }

    /**
     * 是否已经设置了沉浸式状态栏
     */
    private boolean isSetupImmersive;

    @Override
    protected void onResume() {
        super.onResume();
        if (!isSetupImmersive) {
            setImmersiveStatus();
            isSetupImmersive = true;
        }
    }

    /**
     * 开始的方法
     *
     * @param savedInstanceState 保存的 Bundle
     */
    protected abstract void onInit(@Nullable Bundle savedInstanceState);

    /**
     * inflate view root:null,attachToRoot:false
     *
     * @param resource 布局 id
     * @return view
     */
    protected View inflate(@LayoutRes int resource) {
        return getLayoutInflater().inflate(resource, null, false);
    }

    @Override
    public Resources getResources() {
        // 固定字体大小,不随系统字体大小改变
        Resources res = super.getResources();
        Configuration config = new Configuration();
        config.setToDefaults();
        res.updateConfiguration(config, res.getDisplayMetrics());
        return res;
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        mDisposable.clear();
    }
}

18 Source : DataBindingBaseAdapter.java
with Apache License 2.0
from pebble-dev

@Override
public void onBindViewHolder(DataBindingBaseAdapter.ViewHolder holder, final int position) {
    ViewDataBinding viewDataBinding = holder.getViewDataBinding();
    final T item = mList.get(position);
    viewDataBinding.setVariable(getBRResId(), item);
    viewDataBinding.executePendingBindings();
    viewDataBinding.getRoot().setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            onItemClicked(view, item, position);
        }
    });
}

18 Source : OfferViewHolder.java
with MIT License
from mohsenoid

/**
 * Created by Mohsen on 03/10/2016.
 */
public clreplaced OfferViewHolder extends RecyclerView.ViewHolder {

    public final View view;

    Offer offer;

    private ViewDataBinding binding;

    public OfferViewHolder(View view) {
        super(view);
        this.view = view;
        binding = DataBindingUtil.bind(view);
    }

    public ViewDataBinding getBinding() {
        return binding;
    }
}

18 Source : TestViewModelBinder.java
with Apache License 2.0
from manas-chaudhari

public clreplaced TestViewModelBinder implements ViewModelBinder {

    ViewDataBinding lastBinding;

    ViewModel lastViewModel;

    @Override
    public void bind(ViewDataBinding viewDataBinding, ViewModel viewModel) {
        lastBinding = viewDataBinding;
        lastViewModel = viewModel;
    }
}

18 Source : TestViewModelBinder.java
with Apache License 2.0
from manas-chaudhari

@Override
public void bind(ViewDataBinding viewDataBinding, ViewModel viewModel) {
    lastBinding = viewDataBinding;
    lastViewModel = viewModel;
}

18 Source : BaseAppCompatActivity.java
with Apache License 2.0
from lianghuiyong

/**
 * Created by [email protected] on 2016/5/25.
 */
public abstract clreplaced BaseAppCompatActivity extends AppCompatActivity implements BaseViewInterface, MvpView {

    public static final String TAG_ANIM = "TAG_ANIM";

    public static final int ANIM_NORMAL = 0;

    public static final int ANIM_EXPLODE = 1;

    public static final int ANIM_SLIDE = 2;

    public static final int ANIM_FADE = 3;

    public static final int ANIM_CHANGEBOUNDS = 4;

    public static final int ANIM_CHANGECLIPBOUNDS = 5;

    public static final int ANIM_CHANGETRANSFORM = 6;

    public static final int ANIM_CHANGEIMAGETRANSFORM = 7;

    protected abstract int getLayoutId();

    protected abstract MvpPresenter getPresenter();

    private ViewDataBinding binding;

    protected Toolbar toolbar;

    private View view_netInfo;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        AppManager.getAppManager().addActivity(this);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);
            getWindow().setSharedElementsUseOverlay(true);
            setTransition(getIntent().getIntExtra(TAG_ANIM, 0));
        }
        binding = DataBindingUtil.setContentView(this, getLayoutId());
        EventBus.getDefault().register(this);
        ButterKnife.bind(this);
        initRecyclerView();
        init();
        initTabs();
    }

    @Override
    protected void onStart() {
        super.onStart();
        // 初始化网络状态
        view_netInfo = findViewById(R.id.tv_netWorkInfo);
        initNetWorkInfo(NetworkUtils.isConnected(this));
    }

    /**
     * 设置动画过渡模式
     *
     * @param animType
     */
    @TargetApi(21)
    private void setTransition(int animType) {
        switch(animType) {
            case ANIM_NORMAL:
                break;
            case ANIM_EXPLODE:
                getWindow().setEnterTransition(new Explode());
                getWindow().setExitTransition(new Explode());
                getWindow().setReenterTransition(new Explode());
                getWindow().setReturnTransition(new Explode());
                break;
            case ANIM_SLIDE:
                getWindow().setEnterTransition(new Slide());
                getWindow().setExitTransition(new Slide());
                getWindow().setReenterTransition(new Slide());
                getWindow().setReturnTransition(new Slide());
                break;
            case ANIM_FADE:
                getWindow().setEnterTransition(new Fade());
                getWindow().setExitTransition(new Fade());
                getWindow().setReenterTransition(new Fade());
                getWindow().setReturnTransition(new Fade());
                break;
            case ANIM_CHANGEBOUNDS:
                getWindow().setEnterTransition(new Fade());
                getWindow().setExitTransition(new Fade());
                getWindow().setReenterTransition(new Fade());
                getWindow().setReturnTransition(new Fade());
                getWindow().setSharedElementExitTransition(new ChangeBounds());
                getWindow().setSharedElementEnterTransition(new ChangeBounds());
                getWindow().setSharedElementReenterTransition(new ChangeBounds());
                getWindow().setSharedElementReturnTransition(new ChangeBounds());
                break;
            case ANIM_CHANGECLIPBOUNDS:
                getWindow().setEnterTransition(new Fade());
                getWindow().setExitTransition(new Fade());
                getWindow().setReenterTransition(new Fade());
                getWindow().setReturnTransition(new Fade());
                getWindow().setSharedElementExitTransition(new ChangeClipBounds());
                getWindow().setSharedElementEnterTransition(new ChangeClipBounds());
                getWindow().setSharedElementReenterTransition(new ChangeClipBounds());
                getWindow().setSharedElementReturnTransition(new ChangeClipBounds());
                break;
            case ANIM_CHANGETRANSFORM:
                getWindow().setEnterTransition(new Fade());
                getWindow().setExitTransition(new Fade());
                getWindow().setReenterTransition(new Fade());
                getWindow().setReturnTransition(new Fade());
                getWindow().setSharedElementExitTransition(new ChangeTransform());
                getWindow().setSharedElementEnterTransition(new ChangeTransform());
                getWindow().setSharedElementReenterTransition(new ChangeTransform());
                getWindow().setSharedElementReturnTransition(new ChangeTransform());
                break;
            case ANIM_CHANGEIMAGETRANSFORM:
                getWindow().setEnterTransition(new Fade());
                getWindow().setExitTransition(new Fade());
                getWindow().setReenterTransition(new Fade());
                getWindow().setReturnTransition(new Fade());
                getWindow().setSharedElementExitTransition(new ChangeImageTransform());
                getWindow().setSharedElementEnterTransition(new ChangeImageTransform());
                getWindow().setSharedElementReenterTransition(new ChangeImageTransform());
                getWindow().setSharedElementReturnTransition(new ChangeImageTransform());
                break;
        }
    }

    /**
     * 设置android 5.0页面圆形扩散动画
     * @param view
     */
    @TargetApi(21)
    public void setRevealAnim(@NonNull View view) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            view.addOnLayoutChangeListener(new View.OnLayoutChangeListener() {

                @Override
                public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
                    v.removeOnLayoutChangeListener(this);
                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                        Animator circularReveal = ViewAnimationUtils.createCircularReveal(view, view.getWidth() / 2, view.getHeight() / 2, 50, 1000);
                        circularReveal.setInterpolator(new AccelerateDecelerateInterpolator());
                        circularReveal.setDuration(1000);
                        circularReveal.start();
                    }
                }
            });
        }
    }

    @Override
    protected void onResume() {
        super.onResume();
        if (getPresenter() != null) {
            getPresenter().subscribe();
        }
    }

    @Override
    protected void onPause() {
        super.onPause();
        if (getPresenter() != null) {
            getPresenter().unSubscribe();
        }
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        EventBus.getDefault().unregister(this);
        AppManager.getAppManager().finishActivity(this);
    }

    protected ViewDataBinding getBinding() {
        return binding;
    }

    public View getView() {
        return binding.getRoot();
    }

    @Override
    public void init() {
    }

    @Override
    public void initRecyclerView() {
    }

    @Override
    public void initTabs() {
    }

    @Override
    public void showToast(String toast) {
        ToastUtils.showToast(toast);
    }

    public void setToolbar(Boolean hasBackHome) {
        toolbar = (Toolbar) findViewById(R.id.toolbar);
        // 该设置要放setreplacedle之后,否则setreplacedle会无效
        setSupportActionBar(toolbar);
        // 取消显示默认标题
        getSupportActionBar().setDisplayShowreplacedleEnabled(false);
        if (hasBackHome) {
            ImageView back = (ImageView) findViewById(R.id.toolbar_back);
            back.setVisibility(View.VISIBLE);
            back.setOnClickListener(view -> onBackPressed());
        }
    }

    public void setToolbar(Boolean hasBackHome, String replacedle) {
        toolbar = (Toolbar) findViewById(R.id.toolbar);
        if (StringUtils.isEmpty(replacedle)) {
            replacedle = getString(R.string.app_name);
        }
        toolbar.setreplacedle(replacedle);
        // 该设置要放setreplacedle之后,否则setreplacedle会无效
        setSupportActionBar(toolbar);
        if (hasBackHome) {
            ImageView back = (ImageView) findViewById(R.id.toolbar_back);
            back.setVisibility(View.VISIBLE);
            back.setOnClickListener(view -> onBackPressed());
        }
    }

    public void setToolbarCentel(Boolean hasBackHome, String replacedle) {
        toolbar = (Toolbar) findViewById(R.id.toolbar);
        if (StringUtils.isEmpty(replacedle)) {
            replacedle = getString(R.string.app_name);
        }
        TextView mreplacedle = (TextView) findViewById(R.id.replacedle);
        mreplacedle.setText(replacedle);
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayShowreplacedleEnabled(false);
        if (hasBackHome) {
            ImageView back = (ImageView) findViewById(R.id.toolbar_back);
            back.setVisibility(View.VISIBLE);
            back.setOnClickListener(view -> onBackPressed());
        }
    }

    public void setToolbarCentel_Img(Boolean hasBackHome, String replacedle, int imageID) {
        toolbar = (Toolbar) findViewById(R.id.toolbar);
        if (StringUtils.isEmpty(replacedle)) {
            replacedle = getString(R.string.app_name);
        }
        TextView mreplacedle = (TextView) findViewById(R.id.replacedle);
        mreplacedle.setText(replacedle);
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayShowreplacedleEnabled(false);
        if (hasBackHome) {
            ImageView back = (ImageView) findViewById(R.id.toolbar_back);
            back.setVisibility(View.VISIBLE);
            back.setOnClickListener(view -> onBackPressed());
        }
        ImageView image = (ImageView) findViewById(R.id.image);
        image.setImageResource(imageID);
    }

    public void setToolbarCentel_tv(Boolean hasBackHome, String replacedle, String right_replacedle) {
        toolbar = (Toolbar) findViewById(R.id.toolbar);
        if (StringUtils.isEmpty(replacedle)) {
            replacedle = getString(R.string.app_name);
        }
        TextView mreplacedle = (TextView) findViewById(R.id.replacedle);
        mreplacedle.setText(replacedle);
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayShowreplacedleEnabled(false);
        if (hasBackHome) {
            ImageView back = (ImageView) findViewById(R.id.toolbar_back);
            back.setVisibility(View.VISIBLE);
            back.setOnClickListener(view -> onBackPressed());
        }
        TextView right_tv = (TextView) findViewById(R.id.right_tv);
        right_tv.setText(right_replacedle);
        right_tv.setVisibility(TextUtils.isEmpty(right_replacedle) ? View.GONE : View.VISIBLE);
    }

    public void nextActivity(Clreplaced<?> firstCls, Clreplaced<?> SecondCls) {
        Intent[] intents = new Intent[2];
        intents[0] = Intent.makeRestartActivityTask(new ComponentName(this, SecondCls));
        intents[1] = new Intent(this, firstCls);
        startActivities(intents);
    }

    public void nextActivity(Clreplaced<?> cls) {
        Intent intent = new Intent(this, cls);
        startActivity(intent);
    }

    public void nextActivityForResult(Clreplaced<?> cls, int requestCode) {
        Intent intent = new Intent(this, cls);
        startActivityForResult(intent, requestCode);
    }

    public void nextActivityForResult(Clreplaced<?> cls, int requestCode, Bundle bundle) {
        Intent intent = new Intent(this, cls);
        if (bundle != null) {
            intent.putExtras(bundle);
        }
        startActivityForResult(intent, requestCode);
    }

    public void nextActivity(Clreplaced<?> cls, Bundle bundle) {
        Intent intent = new Intent();
        intent.setClreplaced(this, cls);
        if (bundle != null) {
            intent.putExtras(bundle);
        }
        startActivity(intent);
    }

    @TargetApi(21)
    public void nextActivityWithAnim(Clreplaced<?> cls, Bundle bundle, int animType, Pair<View, String>... pairs) {
        Intent intent = new Intent();
        intent.setClreplaced(this, cls);
        if (bundle != null) {
            intent.putExtras(bundle);
        }
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            intent.putExtra(TAG_ANIM, animType);
            if (animType == ANIM_NORMAL) {
                startActivity(intent);
            } else {
                startActivity(intent, ActivityOptions.makeSceneTransitionAnimation(this, pairs).toBundle());
            }
        } else {
            startActivity(intent);
        }
    }

    // 网络状态监听
    @Subscribe
    public void onEvent(NetWorkStateReceiver.NetWorkState state) {
        switch(state) {
            case CONNECTED:
                initNetWorkInfo(true);
                break;
            case DISCONNECTED:
                initNetWorkInfo(false);
                break;
        }
    }

    private void initNetWorkInfo(boolean isConnect) {
        if (view_netInfo != null) {
            view_netInfo.setVisibility(isConnect ? View.GONE : View.VISIBLE);
        }
    }
}

18 Source : BaseFragment.java
with Apache License 2.0
from Lazyeraser

/**
 * Created by Lazyeraser on 2017/1/3.
 */
public clreplaced BaseFragment extends Fragment {

    public BaseActivity mContext;

    public Base umi;

    private View baseView;

    private ViewDataBinding binding;

    private View.OnClickListener menuAction_start, menuAction_end;

    private List<BaseViewModel> viewModels;

    private int replacedle;

    public void setreplacedle(@StringRes int replacedle) {
        this.replacedle = replacedle;
    }

    @StringRes
    public int getreplacedle() {
        return replacedle;
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        if (umi == null)
            umi = new Base();
        umi.init(this);
    }

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mContext = (BaseActivity) getActivity();
    }

    @Override
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        initView();
    }

    public BaseFragment setBinding(@LayoutRes int layoutId, LayoutInflater inflater, @Nullable ViewGroup container) {
        binding = DataBindingUtil.inflate(inflater, layoutId, container, false);
        return this;
    }

    public BaseFragment setVariable(int id, Object v) {
        binding.setVariable(id, v);
        if (v instanceof BaseViewModel) {
            if (viewModels == null) {
                viewModels = new ArrayList<>();
            }
            viewModels.add((BaseViewModel) v);
        }
        return this;
    }

    public View getInflatedView() {
        baseView = binding.getRoot();
        return baseView;
    }

    public View getBView(@IdRes int id) {
        return baseView.findViewById(id);
    }

    protected void initView() {
    }

    protected Toolbar initToolbar(@IdRes int id, boolean backBtn, String replacedle) {
        Toolbar toolbar = (Toolbar) getBView(id);
        if (toolbar == null) {
            return null;
        }
        toolbar.setreplacedleTextColor(getResources().getColor(R.color.colorInvert));
        toolbar.setBackgroundResource(R.color.colorPrimaryStatusBar);
        mContext.setSupportActionBar(toolbar);
        setHasOptionsMenu(true);
        ActionBar actionBar = mContext.getSupportActionBar();
        replacedert actionBar != null;
        if (!TextUtils.isEmpty(replacedle)) {
            actionBar.setreplacedle(replacedle);
        }
        String label = toolbar.getreplacedle().toString();
        if (label.contains("/")) {
            actionBar.setreplacedle(label.split("/")[0]);
            toolbar.setSubreplacedle(label.split("/")[1]);
            toolbar.setSubreplacedleTextColor(getResources().getColor(R.color.colorInvert));
        }
        actionBar.setHomeButtonEnabled(backBtn);
        actionBar.setDisplayHomeAsUpEnabled(backBtn);
        int resourceId = mContext.getResources().getIdentifier("status_bar_height", "dimen", "android");
        if (resourceId > 0) {
            int sHeight = mContext.getResources().getDimensionPixelSize(resourceId);
            toolbar.setPadding(toolbar.getPaddingRight(), sHeight + toolbar.getPaddingTop(), toolbar.getPaddingLeft(), toolbar.getPaddingBottom());
        }
        return toolbar;
    }

    protected Toolbar initToolbar(@IdRes int id) {
        return initToolbar(id, true, null);
    }

    protected Toolbar initToolbar(@IdRes int id, String replacedle) {
        return initToolbar(id, false, replacedle);
    }

    public View.OnClickListener getMenuAction_start() {
        return menuAction_start;
    }

    public void setMenuAction_start(View.OnClickListener menuAction_start) {
        this.menuAction_start = menuAction_start;
    }

    public View.OnClickListener getMenuAction_end() {
        return menuAction_end;
    }

    public void setMenuAction_end(View.OnClickListener menuAction_end) {
        this.menuAction_end = menuAction_end;
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        if (viewModels != null) {
            for (BaseViewModel viewModel : viewModels) {
                if (viewModel != null) {
                    viewModel.onDestroy();
                }
            }
        }
    }
}

18 Source : PageFilterAdapter.java
with MIT License
from JZ-Darkal

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ViewDataBinding lisreplacedemBinding;
    if (convertView != null) {
        lisreplacedemBinding = (ViewDataBinding) convertView.getTag();
    } else {
        lisreplacedemBinding = DataBindingUtil.inflate(LayoutInflater.from(parent.getContext()), R.layout.item_pages, parent, false);
        convertView = lisreplacedemBinding.getRoot();
        convertView.setTag(lisreplacedemBinding);
    }
    lisreplacedemBinding.setVariable(BR.pages, pageBeenList.get(position));
    lisreplacedemBinding.executePendingBindings();
    // lisreplacedemBinding.setButtonclick(new ButtonClick(MainActivity.this,position));
    return convertView;
}

18 Source : ViewPagerBindingAdapter.java
with Apache License 2.0
from goldze

@Override
public void onBindBinding(final ViewDataBinding binding, int variableId, int layoutRes, int position, ViewPagerItemViewModel item) {
    super.onBindBinding(binding, variableId, layoutRes, position, item);
    // 这里可以强转成ViewPagerItemViewModel对应的ViewDataBinding,
    ItemViewpagerBinding _binding = (ItemViewpagerBinding) binding;
}

18 Source : ViewPagerBindingAdapter.java
with Apache License 2.0
from goldze

@Override
public void onBindBinding(final ViewDataBinding binding, int variableId, int layoutRes, final int position, ViewPagerItemViewModel item) {
    super.onBindBinding(binding, variableId, layoutRes, position, item);
    // 这里可以强转成ViewPagerItemViewModel对应的ViewDataBinding,
    ItemViewpagerBinding _binding = (ItemViewpagerBinding) binding;
}

See More Examples