将 AsyncLayoutInflater 与 DataBinding 结合使用

MHo*_*gge 5 android asynchronous layout-inflater android-databinding

我目前使用该DataBindingUtil.inflate(inflater, layoutId, parent, attachToParent)方法膨胀我的大部分布局。

但是我看到他们是一个AsyncLayoutInflater因为Support Library revision 24它允许通货膨胀发生在一个单独的线程上。我想在我的应用程序的某些部分使用这种机制,但我不想放弃使用databinding

DataBindingUtil不包含任何方法,如inflateAsync(). 但它是否计划增加对此的支持?或者他们是将AsyncLayoutInflater和 的使用结合起来的一种方式databinding

我试图使用AsyncLayoutInflater里面的inflate方法DataBindingUtil但实际上AsyncLayoutInflater不是原始LayoutInflater.

谢谢阅读!

Jam*_*ken 7

您可以只使用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);
    }
});
Run Code Online (Sandbox Code Playgroud)