连续两次调用 Activity.setContentView() 的副作用

发布于 11-03 09:31 字数 459 浏览 4 评论 0原文

在我的应用程序中,我需要从 onCreate()WebChromeClient.onCompletion() 调用 findViewbyId()。避免 findViewbyId() 返回 null 在调用 findViewbyId() 之前,我求助于调用 Activity.setContentView(int viewResID)

它有效,但现在我想知道我是否可能在我的代码中创建了一个“定时炸弹”。

做这样的事情时我需要记住什么注意事项吗?

In my app I needed to call findViewbyId() from both onCreate() and from WebChromeClient.onCompletion(). To avoid findViewbyId() returning null I resorted to calling Activity.setContentView(int viewResID) before calling findViewbyId().

It works, but now I am wondering whether I may have created a "time-bomb" in my code down the road.

Are there any caveats that I need to keep in mind when doing something like this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一瞬间的火花2024-11-10 09:31:54

这样做是没有问题的。你必须重新初始化引用(每个findViewById都需要再次调用),如果你这样做很多次可能会很麻烦,但它根本不是一个定时炸弹。

There is no problem in doing so. You have to reinitialize references (every findViewById needs to be called again) and it might be troublesome if you do it A LOT of times, but it is not a time bomb at all.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文