我正在尝试使用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,但后来又遇到了另一个问题。
我有一个实现导航抽屉的主要活动,并使用FrameLayout加载碎片。此活动有一个显示片段的方法。该方法有下一个代码:
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支持库
答案 0 :(得分:3)
如果ActivityMain
班级正在延长FragmentActivity
,则会定义getSupportFragmentManager()
。
答案 1 :(得分:0)
根据文档,FragmentPagerAdapter
也出现在支持库v4中(参见docs)。因此,如果这是您使用v13的唯一原因 - 您可以轻松摆脱它。