修改布局对象时的viewBindings与findViewById行为



(我是一名软件开发人员,但不熟悉android开发(

我在活动的布局上有一个edittext字段。我想给它设置一个文本。这很容易。

我最近发现了viewBindings(相对于findViewById(,并喜欢这个想法。

因此,在Create上,我获得了bindingobject的引用(binding=ActivityMainBinding.fulle(getLayoutInfuller((((,稍后在另一个方法中(buttonclick(,我使用它来设置文本:binding.txtSettingValue.setText("hello kitty"(但运行中的应用程序中的字段实际上显示在屏幕上,不会更改值。即使我调试并查看对象本身,它也会在下次单击后更改并保留值。

当对findViewById获得的引用执行此操作时(即使我将该引用存储在活动类中并在onCreate中获得该引用(,它也能完美地工作。

我做错了什么?

提前感谢

我发现了故障:

在onCreate中,您通常使用setContentView(..(

如果您决定使用viewbindings而不是findviewbyid,您还应该将ContentView设置为布局根:

例如setContentView(binding.root(

而不是

setContentView(R.layout.activity_main(

现在它工作完美:-D

最新更新