如何将我的活动升级到碎片并避免ClassCastException?

时间:2011-07-19 05:42:53

标签: android android-layout android-fragments android-support-library

我有很多类的活动层次结构。我刚刚安装了v4兼容包。以一种方式获取我所有活动的最简单方法是什么?我可以在片段中使用它们,并在其中使用TabHost?

代码行:

    mTabsAdapter.addTab(mTabHost.newTabSpec("feed").setIndicator("Feed"), FActivity.class, null);

第165行:

@Override
    public Fragment getItem(int position) {
                TabInfo info = mTabs.get(position);
                return Fragment.instantiate(mContext, info.clss.getName(), info.args);
            }

具体来说,我想避免像:

这样的错误
07-19 01:33:24.940: ERROR/AndroidRuntime(17581): java.lang.ClassCastException: com.c.FActivity
07-19 01:33:24.940: ERROR/AndroidRuntime(17581):     at android.support.v4.app.Fragment.instantiate(Fragment.java:378)
07-19 01:33:24.940: ERROR/AndroidRuntime(17581):     at com.c.Main$TabsAdapter.getItem(Main.java:165)
07-19 01:33:24.940: ERROR/AndroidRuntime(17581):     at android.support.v4.app.FragmentPagerAdapter.instantiateItem(FragmentPagerAdapter.java:62)

1 个答案:

答案 0 :(得分:6)

以下是一些您可能感兴趣的链接。有一个例子是创建一个双活动应用程序,然后在其中实现片段。

Android User Interface Design: Working With Fragments

Android Compatibility: Working with Fragments

希望这有帮助。