文章目录
  1. 1. 在Fargment中使用
  2. 2. 在GridView中使用

在Fargment中使用

1
2
3
4
5
6
7
<layout>
<date>
<variable
name="user"
type="io.github.seniorzhai.databindingdemo.model.PlainUser" />
</date>
</layout>

在Fragment.java中

1
2
3
4
5
6
7
8
9
onCreateView() {
ItemGridBinding binding = DataBindingUtil.inflate(inflater, R.layout.item_grid, container, false);
PlainUser user = new PlainUser();
user.name.set("SBBBBBBBB");
user.age.set(111);
binding.setUser(user);
binding.getRoot().setBackgroundColor(RandomColor.getColor());
return binding.getRoot();
}

https://github.com/SeniorZhai/DataBindingDemo/blob/master/app/src/main/java/io/github/seniorzhai/databindingdemo/BingdingFragment.java

在GridView中使用

主要的实现代码需要在Adapter的getView方法中实现

1
2
3
4
5
6
7
8
9
10
11
public View getView(int position,View convertView,ViewGroup parent) {
if (convertView == null) {
binding = DataBindingUtil.inflate(inflater,R.layout.item_grid,parent,false);
convertView = binding.getRoot();
convertView.setTag(binding);
} else {
binding = convertView.getTag();
}
binding.setVariable(BR.user,getItem(position));
return converView;
}

https://github.com/SeniorZhai/DataBindingDemo/blob/master/app/src/main/java/io/github/seniorzhai/databindingdemo/MyAdapter.java

文章目录
  1. 1. 在Fargment中使用
  2. 2. 在GridView中使用