这不是数据绑定,而是View binding,它是 Android Studio 3.6 Canary 11+ 中新增的功能,详情请见这里。
在 Activity 中使用很简单,只需要像这样:
假设我们有一个名为activity_main.xml
的布局文件
那么在代码中,我们可以像这样使用:
public class MainActivity extends Activity{
ActivityMainBinding binding; //Name of the layout in camel case + "Binding"
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
binding = ActivityMainBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
}
}
然而,如何在RecyclerView中使用View Binding并不清楚?
编辑:请用Java解释。
getLayoutInflater()
是从Activity类中获取的。如果您的适配器不在上下文中,则需要为LayoutInflater.from
提供源上下文。 - M D Pparent.context.getLayoutInflater()
? - Ben Butterworth