如何扩展ListActivity而不在android中的XML布局中声明ListView

时间:2011-12-19 15:50:18

标签: android

大家好我在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我可以克服这个。

1 个答案:

答案 0 :(得分:0)

我不确定你是否可以完全避免这个问题。 ListActivity绝对要求布局中有ListView,其代码为@android:id/list(或代码中为android.R.id.list)。

您可能尝试的一个方法是定义您的横向布局,使其具有ListView,但强制ListView的高度为零。 ListActivity将被满足,但不会在屏幕上显示。

顺便说一下,如果您没有使用依赖于配置的资源目录(res/layout-portres/layout-land),那么您应该这样做。框架将自动将正确的布局文件绑定到您使用的布局ID,您不必在代码中选择它们。请参阅指南主题Providing Resources