我可以使用兼容包 v4 创建 Fragment ListActivity 吗?
Posted
技术标签:
【中文标题】我可以使用兼容包 v4 创建 Fragment ListActivity 吗?【英文标题】:Can I create Fragment ListActivity with compatibility package v4? 【发布时间】:2012-06-11 08:36:12 【问题描述】:我一直在尝试完成专为 android 3.0+ 设计的教程“使用片段”
为了完成我正在使用兼容包 v4(因为我的 API 是 7)。但是我被困在名单上。我找不到直接的答案。
我收到了 ClassNotFoundException。我从 FragmentActivity 继承了片段类,但是我的 ListActivity 呢?没有 FragmentListActivity 这样的东西,我认为它一直在崩溃。
还是根本不可能?
【问题讨论】:
【参考方案1】:不,不存在。愚蠢的支持库。
该解决方案易于创建,但维护起来很繁琐。只需将native ListActivity
class 复制到您的项目中,将其重命名为“FragmentListActivity
”,并让它扩展FragmentActivity
而不是Activity
。不需要其他调整,复制很容易。如果您不确定,您可以在我的代码中peak,但最好始终派生出最新的。
我会说GridActivity
也是如此。
【讨论】:
我们应该如何处理com.android.internal.R
引用?
Brian,那是 ListActivity 类的吗?我没有遇到任何。希望他们不会在 4.2 中阻止这个?
嗯,他们三个。到目前为止,我想出了一个对我有用的解决方案。请参阅:gist.github.com/4201753 btw:upvote 你去 :)
那么它们是否可以解析为 android.R?可能是,不记得了。我也应该分享我的代码,这里是:bazaar.launchpad.net/~pjv/collectionista/ics-main/view/head:/…
我将它们替换为 android.R.* 除了一个:android.R.layout.list_content 对我不起作用,因此我将其提取为摘要 getSupportLayoutResourceId()
。只要我打电话给setContentView(getSupportLayoutResourceId())
【参考方案2】:
看这个问题: What to do about ListActivity/MapActivity when converting to Fragments using the compatibility library?
有一个ListFragment。
【讨论】:
【参考方案3】:是的,您可以创建与 viewpager 包 v4 兼容的 Fragment ListActivity
这里是example
另一个example
【讨论】:
这些是 ViewPager 教程 但在视图寻呼机中,我使用了片段活动,这将对您有所帮助,谢谢以上是关于我可以使用兼容包 v4 创建 Fragment ListActivity 吗?的主要内容,如果未能解决你的问题,请参考以下文章
为啥此错误显示“不兼容的类型”。 “必需:android.support.v4.app.Fragment”?
Fragment启动过程,从getFragmentManager开始