【问题标题】:null object reference on data binding on runtime运行时数据绑定的空对象引用
【发布时间】:2022-08-24 20:11:57
【问题描述】:

我正在使用数据绑定

我有 MainActivity

public class MainActivity extends AppCompatActivity {

ActivityMainBinding binding;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    binding = ActivityMainBinding.inflate(getLayoutInflater());
    setContentView(binding.getRoot());
}}

我的毕业档案

buildFeatures {
    viewBinding true
    dataBinding true
}

dependencies {
    classpath \"com.android.tools.build:gradle:7.0.4\"}

我收到运行时错误

原因:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法 \'android.view.View com.actofit.beat.databinding.ActivityMainBinding.getRoot()\'

我不知道什么是空对象引用,这就是我需要帮助的

    标签: java android android-studio data-binding


    【解决方案1】:

    在你的 onCreate 函数中尝试这样的事情:

      binding = DataBindingUtil.setContentView(this, R.layout.main_activity);
    

    并且还在 XML 中添加 <layout> </layout> 标签。

    【讨论】:

      【解决方案2】:

      您的 XML 结构似乎有问题。您是否检查过根元素是视图组(如相对布局、约束布局)?

      它应该类似于:

      <layout>
          <data>
              ...
          </data>
          <ConstraintLayout>
              ...
          </ConstraintLayout>
      </layout>
      

      【讨论】:

        猜你喜欢
        • 2019-05-11
        • 1970-01-01
        • 1970-01-01
        • 2020-02-13
        • 1970-01-01
        • 1970-01-01
        • 2013-10-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多