Android 视图绑定 onClickListener 未被调用

som*_*hpc 6 android android-viewbinding

我正在更新一个应用程序,我读到现在处理视图的推荐方法是使用视图绑定。我按照说明进行操作,但是遇到了一些问题:

添加点击侦听器的效果如下:

((LinearLayout) findViewById(R.id.btn_login)).setOnClickListener(v -> {
    Log.v(TAG, "findViewById press");
});
Run Code Online (Sandbox Code Playgroud)

而以下内容则不然

binding.btn_login.setOnClickListener(v -> {
   Log.v(TAG, "View Binding press");
});

Run Code Online (Sandbox Code Playgroud)

文档说应该。我想在一个新项目上尝试这个,以确保它在某种程度上与应用程序配置无关,但我得到了相同的结果 - 它不起作用。

我像这样初始化它:

public class Login extends BaseClassFragmentActivity {
    ActivityLoginBinding binding;
    private final String TAG = "[LOGIN]";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        binding = ActivityLoginBinding.inflate(getLayoutInflater());
    }
}
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?

Ham*_* Sj 16

考虑一下您应该setContentView(binding.getRoot());在您的onCreate方法中使用。