【发布时间】:2012-04-23 23:09:34
【问题描述】:
我在构建布局时遇到问题。我的情况是这样的:
我有一个Activity,它可以运行并为普通和横向定义了一个布局,但它们是在运行时从onCreate() 构建的。
在onCreate() 中,我调用setContentView(my_normal_layout),然后将其添加到使用大量addView() 等并且工作正常。然而,我也在尝试构建我的横向布局,但是当我尝试使用findViewById() 来获取我的基本布局时,它是存储在res/layout-land 中的布局文件的一部分,它返回null。
现在我已经查看了针对有 null 返回问题的人的解决方案,但人们建议必须首先执行 setContentView。但是我不想将内容视图设置为我的横向布局,我只希望在屏幕旋转时发生这种情况(它会自动执行此操作吗?)。
那么有谁知道我如何解决使用findViewById 并更改未设置为内容视图的视图的问题?
我可以发布任何需要的代码行,但我希望解释足够好。 谢谢,
乔什
【问题讨论】:
-
我已经明白这一点,但它不能解决我的问题,因为我需要一个单独的布局。
-
将纵向布局放入
/res/layout/my_layout.xml并将横向放入/res/layout-land/my_layout.xml可以是完全不同的文件-如果其中一个缺少某些viewid,那么您只需从findViewById 中获取null,您就可以充分.
标签: android layout null views findviewbyid