使用 viewBinding 时 SetTheme 不起作用
Posted
技术标签:
【中文标题】使用 viewBinding 时 SetTheme 不起作用【英文标题】:SetTheme does not work when using viewBinding 【发布时间】:2021-11-18 09:11:27 【问题描述】:我的应用中有两个主题(深色和浅色模式),我可以毫无问题地更改主题。 但是,由于我使用了 viewBinding,所以 setTheme() 函数不起作用,我无法再更改活动的主题。 有谁知道问题出在哪里?
这是我的旧代码(有效)
setTheme(getAppTheme());
setContentView(R.layout.my_layout);
还有新代码(不起作用)
setTheme(getAppTheme());
setContentView(binding.getRoot());
感谢您抽出宝贵时间阅读,并为我的英语不好感到抱歉:)
【问题讨论】:
你是如何初始化你的绑定变量的? 【参考方案1】:您必须在设置主题之前初始化绑定变量。设置主题后,您必须初始化活动绑定,才能正常工作。
setTheme(getAppTheme());
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.getRoot());
【讨论】:
我在设置主题后初始化了绑定变量,问题解决了。非常感谢您快速而正确的回答。以上是关于使用 viewBinding 时 SetTheme 不起作用的主要内容,如果未能解决你的问题,请参考以下文章