0

问候和问候,

简短版本:我试图在我的 Android 应用程序中使用 DialogFragment,它的 minSkdVersion 为 8(Android 2.2)。为了使用它们,我必须能够调用“getSupportFragmentManager()”。为了做到这一点,我尝试将调用 Activity 更改为 FragmentActivity,它允许 getSupportFragmentManager() 在运行时解析,但是当尝试在运行时创建该意图时,我得到一个 NoClassDefFoundError,因为应用程序无法解析上游的某些东西它

W/dalvikvm(333):无法解析超类...

在这种情况下,我怎样才能从一个简单的 Activity 调用 getSupportFragmentManager() 而不使该 Activity 成为 FragmentActivity (它无法工作)?还是我需要将活动变成 FragmentActivity,但我需要进行一些其他更改才能使其工作?

仅作记录:我已经将 android-support-v4.jar 添加到项目中(否则,我根本无法编译)。

预先感谢您的协助。

4

2 回答 2

2

由于 FragmentActivity 是找不到的类,我想我知道问题出在哪里。您确定您的兼容性库包含在您的 apk 中吗?您可以使用 dex2jar 来检查这一点。您似乎需要将您的库移动到该libs文件夹​​,以便它们包含在 android 工具的较新版本中。

于 2012-04-25T22:08:58.700 回答
1

查看支持库的示例。它们从“FragmentActivity”扩展以支持这些功能。

他们还写道,您必须扩展它才能使用支持库:http: //developer.android.com/reference/android/support/v4/app/FragmentActivity.html

片段活动:

“想要使用基于支持的 Fragment 和 Loader API 的活动的基类。

当使用此类而不是新平台的内置片段和加载器支持时,您必须分别使用 getSupportFragmentManager() 和 getSupportLoaderManager() 方法来访问这些功能。”

于 2012-04-25T17:22:56.497 回答