我正在尝试预览 ListFragment
在图形布局编辑器中。由于它没有要预览的 fragment 布局,我只是创建了一个带有 ListView
的 xml在内部,只是为了查看项目的外观,并使用默认项目布局之一设置预览列表内容,只是为了尝试。
问题是:
无论我选择什么Preview List Content,预览中的列表都是空的;(我不知道我做错了什么,现在可以了)- 我想预览我自己的自定义列表项View,而不仅仅是布局,因为我会在
isInEditMode()
时做一些事情。是真的。
有什么想法吗?
编辑: fragment 是ListFragment
,但我可以接受使用“临时”listview.xml 布局。我想要的是一种使用我的 CustomListItemView
查看 ListView 的方法里面。在 fragment 中,我将使用自定义适配器将它们放在那里;在布局编辑器中,我希望我可以选择 CustomListItemView
来自预览列表内容菜单。
我不能只使用自定义项目的布局作为预览列表内容,因为它的根是一个 <merge>
(我的自定义项目扩展 RelativeLayout
)。这可以通过更改片刻来解决 <merge>
进入<RelativeLayout>
.但是,此自定义项目 View 会根据数据而变化,因此我很想通过使用 isInEditMode()
查看各种状态的预览。设施。
如果没有临时的 listview.xml 布局,一切都可以正常工作,那将是最好的,但这正在成为一个功能请求。
现在我正在使用垂直 LinearLayout
.
最佳答案
我看了一下,答案似乎是今天不可能,因为有两个错误。
出于某种原因,如果 ListView 是布局的根元素,而不是嵌入到布局中,则 ListView 预览不起作用。解决方法很简单;只需用一些其他布局(例如 LinearLayout)包围 ListView,将 ListView 的 layout_width 和 layout_height 设置为 match_parent。
出于某种原因,当一个带有 ListView 的布局和一个自定义 View 被包含到另一个布局中时,自定义列表项布局不起作用。我知道这曾经有效,所以它一定在某个时候坏了,可能是当我们从使用注释样式元数据切换到工具命名空间元数据以记录要使用的布局时。
我已经提交了这个问题来跟踪工作:
http://code.google.com/p/android/issues/detail?id=36838
关于android - 布局编辑器中的 ListFragment 或 ListView 预览,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12140027/