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
19
Source : StartActivity.java
with Apache License 2.0
from xujiaji
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
with Apache License 2.0
from JingZhuanDuoYing
@Override
protected void setDataBindingVariables(ViewDataBinding binding) {
}
19
Source : ScatterChart2Model.java
with Apache License 2.0
from JingZhuanDuoYing
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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