大家好我在android.Iam中开发一个屏幕,为该画面编写代码,以纵向和横向方向工作。这里我的肖像和横向XML是不同的,这就是为什么iam使用不同的XML文件进行纵向和横向定向。我在onConfigurationChanged()方法中包含了这些XML文件。取决于方向更改iam,包括特定的XML文件和iam,只使用一个活动扩展了ListActivity。在纵向方向iam使用ListView但在横向方向iam不使用ListView。当我将我的方向从Portrait更改为Landscape时,它会给出一个Exception,说明你的内容必须有一个ListView,其id属性为'android.R.id.list'。我理解我的Landscape XML中的问题文件我没有使用ListView作为我扩展ListActivity.But我不想使用ListView.How我可以克服这个。
答案 0 :(得分:0)
我不确定你是否可以完全避免这个问题。 ListActivity
绝对要求布局中有ListView
,其代码为@android:id/list
(或代码中为android.R.id.list
)。
您可能尝试的一个方法是定义您的横向布局,使其具有ListView
,但强制ListView
的高度为零。 ListActivity
将被满足,但不会在屏幕上显示。
顺便说一下,如果您没有使用依赖于配置的资源目录(res/layout-port
和res/layout-land
),那么您应该这样做。框架将自动将正确的布局文件绑定到您使用的布局ID,您不必在代码中选择它们。请参阅指南主题Providing Resources。