findViewById 从膨胀布局返回 Null

发布于 2024-12-11 13:33:56 字数 277 浏览 0 评论 0原文

我们所处的情况是,当活动可能在显示错误消息之前被破坏时,我们试图显示错误消息(即触发 AsyncTask 来刷新一些数据,然后完成活动)。我们想显示一条错误消息。

现在我们可以使用应用程序作为上下文来处理 Toast。这很好用。

我们正在尝试添加自定义布局。我们可以膨胀布局,然后尝试设置一些文本视图。不幸的是,当我们在膨胀视图上调用 findByViewId 时,它始终为 null,并且我们无法在自定义布局中设置文本。

关于解决这个问题的好方法有什么建议吗?此时我们唯一的参考是应用程序。

We're in a situation where we are trying to display an error message when an activity might be destroyed before the error message is displayed (i.e. firing off an AsyncTask to refresh some data and then finishing the activity). We'd like to display an error message.

Right now we can do with Toast using the application as the context. This works fine.

We're trying to add a custom layout to the mix. We can inflate the layout, and are then attempting to set some of the text views. Unfortunately, when we call findByViewId on the inflated view it's always null and we can't set the text in the custom layout.

Any recommendations on a good way to approach this? The only reference we have at that point is the Application.

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

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

发布评论

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

评论(1

ゃ懵逼小萝莉 2024-12-18 13:33:56

有时,XML 布局(更准确地说是生成的“R.*”文件)与项目不同步,这会导致像您这样的问题。解决方法是“清理”(Project -> 从 Eclipse 主菜单中的 Clean)项目并再次启动应用程序。

Sometimes XML layouts (the resulting "R.*" files more precisely) gets out of sync with the project and this leads to problems like yours. The cure is to "clean" (Project -> Clean from eclipse main menu) the project and start the app again.

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