binding = DataBindingUtil.setContentView(this, layoutId);
但绑定为空
这有时有值,有时
活动:
public class WellcomeActivity extends Activity {
{
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
WellcomeBinding binding = DataBindingUtil.setContentView(this,R.layout.wellcome);
vvv = (ViewFlipper) findViewById(R.id.main_vf);
}
vvv可以找到; Wellcomebinding可以找到; 绑定为空
我的英语不是很好
请多担待 请多加注意
xml文件没有错误 这是一个旧项目 编译没有错误 它只有运行时异常
the xml like this:
<?xml version="1.0" encoding="utf-8"?>
<layout
>
<!--<data>-->
<!--<variable-->
<!--name="vm"-->
<!--type="com.aaron.lazy.base.activity.BaseViewModel"></variable>-->
<!--</data>-->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/launcher_default"
>
<ViewFlipper
android:id="@+id/main_vf"
android:layout_width="match_parent"
android:layout_height="match_parent"
></ViewFlipper>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="向右滑动3次以上"
android:textColor="@color/white"
android:textSize="30dp"
/>
</RelativeLayout>
</layout>
答案 0 :(得分:1)
这就是你的做法:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
}
答案 1 :(得分:0)
您是否尝试过使用:
WellcomeBinding binding = DataBindingUtil.inflate(getLayoutInflater(), R.layout.wellcome, null, false);
setContentView(binding.getRoot());
答案 2 :(得分:0)
再次检查您是否在build.gradle
中启用了数据绑定
android {
dataBinding {
enabled = true
}
}
尤其是在图书馆中,这很容易被遗忘。请记住,所有依赖于使用数据绑定的库的模块都需要启用它(即使该模块本身不使用数据绑定)!