将AsyncLayout Inflater用于数据绑定
我目前使用DataBindingUtil.inflate(inflater, layoutId, parent, attachToParent)
方法膨胀我的大部分布局。
AsyncLayoutInflater
,因为Support Library revision 24
允许在单独的线程上发生膨胀。我希望在我的应用程序的某些部分使用此机制,但我不想为此放弃使用databinding
。
DataBindingUtil
不包含任何类似inflateAsync()
的方法。但它是否计划增加对这一点的支持?或者它们是同时使用AsyncLayoutInflater
和databinding
的一种方式吗?
我尝试在DataBindingUtil
的inflate
方法中使用AsyncLayoutInflater
,但实际上AsyncLayoutInflater
不是原始LayoutInflater
的子类。
感谢您的阅读!
解决方案
您可以只使用DataBindingUtil.bind(view)
绑定到放大布局的根。
new AsyncLayoutInflater(this).inflate(R.layout.my_layout, null, new AsyncLayoutInflater.OnInflateFinishedListener() {
@Override
public void onInflateFinished(@NonNull View view, int resid, @Nullable ViewGroup parent) {
MyLayoutBinding binding = DataBindingUtil.bind(view);
}
});
相关文章