android - 如何在同一项目中使用 android 支持库 v4 和 v13?

标签 android android-studio android-support-library

我正在尝试同时使用 v4 和 v13 支持库,ADT 给我错误:

Found both android-support-v4 and android-support-v13 in the dependency list.
Because v13 includes v4, using only v13.

我需要同时使用两者,因为我必须使用:

import android.support.v4.app.ActionBarDrawerToggle;
import android.support.v4.widget.DrawerLayout;

import android.support.v13.app.FragmentPagerAdapter;

我尝试将库作为外部 jar 添加,但随后出现 NoClassDefFoundError

我可以使用这两个库还是可以替换其中的一些导入?

提前致谢

编辑:

您好,感谢您的快速解答

我之前尝试过使用 android.support.v4.app.FragmentPagerAdapter 但后来我遇到了另一个问题。

我有一个主要 Activity ,它实现了一个抽屉导航并使用一个 FrameLayout 来加载 fragment 。此 Activity 有一个显示 fragment 的方法。该方法有下一个代码:

if (fragment != null) {
    FragmentManager fragmentManager = getFragmentManager();
    fragmentManager.beginTransaction().replace(R.id.frame_container, fragment).commit();

如果我使用 android.support.v4.app.FragmentPagerAdapter 我也需要使用

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;

我在使用 getFragmentManager() 时遇到下一个错误;

Type mismatch: cannot convert from android.app.FragmentManager to  android.support.v4.app.FragmentManager

我读过我可以使用 getSupportFragmentManager() 但我收到另一个错误:

The method getSupportFragmentManager() is undefined for the type ActivityMain

这就是我想同时使用 v4 和 v13 库的原因

已解决:

解决方案是使 ActivityMain 从 FragmentActivity 扩展并仅使用 v4 支持库

最佳答案

如果 ActivityMain 类扩展了 FragmentActivity,那么将定义 getSupportFragmentManager()

关于android - 如何在同一项目中使用 android 支持库 v4 和 v13?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21648462/

相关文章:

android - SQLiteOpenHelper 版本号基于什么?

android - picasso 图像加载

android - Uber SDK 中的 "SURGE CONFIRMATION REDIRECT URI"是什么?

android - 是否可以在 Android Studio 中使用 crosswalk-cordova?

Android - 使用 Android 支持库时无法在 SearchWidget 中找到 TextView

java - SherlockfragmentActivity 和 sherlockListFragment

java - 安卓无法压缩

android - "Use command line client"选项在 Android Studio 3.2.1 中不可用用于颠覆

android - 导入带有IntelliJ资源的android支持库

android - play-services-base 和 support-v4 双方法计数