代码之家  ›  专栏  ›  技术社区  ›  Mithun Sarker Shuvro

android中的数据绑定对象可以为null吗

  •  0
  • Mithun Sarker Shuvro  · 技术社区  · 7 年前

    我正在我的项目中使用数据绑定。在一个片段中,我使用如下数据绑定

    public class ExampleFragment extends Fragment  {
    
         private FragmentExampleBinding mFragmentExampleBinding;
    
         @Override
         public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
            //initializing data binding object
            mFragmentExampleBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_example, container, false);
            // is there any posibility that mFragmentExampleBinding can be null
            View view = mFragmentExampleBinding.getRoot();
            return view;
          }
    }
    

    1 回复  |  直到 7 年前
        1
  •  1
  •   Dewey Reed    7 年前

    通常情况下,它是非常值得信赖的,我不需要每次都检查它。

    https://developer.android.com/reference/android/databinding/DataBindingUtil#inflate

     * @return The newly-created binding for the inflated layout or <code>null</code> if
     * the layoutId wasn't for a binding layout.
    

    但是,如果您决定清除中的视图引用 onDestroyView (将binding设置为null)为了避免内存泄漏,您确实需要执行null检查,或者在视图被销毁后访问绑定时抛出异常。