2015-01-16 30 views
0

我的应用程序需要同时使用android.support.v4.app.Fragment和API 11以后支持的默认片段,谁能告诉我如何将默认的API 11 Fragment转换为android.support.v4.app.Fragment ?.有没有办法将片段转换为android.support.v4.app.Fragment

是否有可能?在我的应用程序中,我需要使用settingsfragment,这不支持android.support.v4.app.Fragment。任何帮助

谢谢

+0

我不认为这是可能的,除非你为不同的目标维护两个代码库。 – kosa

+0

如何克服这种情况..任何想法? – Naruto

+1

对于设置,我使用一个活动。它检查操作系统版本。如果<11,它启动一个PreferenceActivity。否则,它会启动一个PreferenceFragment。好简单。对于没有将PreferenceFragment包含在支持库中的问题,这是一个解决方法。如果您可以等待3到4个小时,我可以回答发布我正在使用的代码来实现这个诀窍(我现在有点忙)。 –

回答

0

有没有办法做到你想要的演员。 试着这样做:

if (Build.VERSION.SDK_INT >= 11) 
{ 
    // user fragment 
} 
else 
{ 
    // user android.support.v4.app.Fragment 
} 
+0

但实际上我有viewpager适配器,所以它返回一个通用的片段I,E 如何克服这种情况?.. '@覆盖 \t公共片段的getItem(INT指数){ \t \t // TODO自动 - 生成方法存根 \t \t开关(指数){ \t情况下0: 壳体1: 如果(Build.VERSION.SDK_INT> = 11){ // 用户片段 } 别的 { //用户机器人.supp ort.v4.app.Fragment }' – Naruto

+0

是的,你应该实现两个适配器。一个用于支持片段,另一个用于新的android片段(> 11)。你应该管理两者。 –

0

谁能告诉我如何将默认的API 11片段转换为android.support.v4.app.Fragment?

这是不可能的,因为android.support.v4.app.Fragment与框架的片段类完全不同,甚至当android.support.v4.app.Fragment在Android 3.0或更高版本上运行时,它的实现仍在使用;它不会尝试切换到框架的实现。

是否有可能?在我的应用程序中,我需要使用settingsfragment,这不支持android.support.v4.app.Fragment?

不能使用当前的实施框架的PreferenceFragment的,但您可以使用this library是为Android 1.6,以确保兼容层及以上,它的PrefrenceFragment从android.support.v4.app.Fragment不是框架的一个继承。

+0

嗨,我用这个库,但造成问题,http://stackoverflow.com/questions/27970723/ringtone-picker-is-not-working – Naruto

+0

我发布了答案。这是图书馆已知的问题。 –

相关问题