Android Fragment事务错误参数Fragment的类型应为Android.support.v4.app.Fragment
在我的应用程序中,我的主要活动是实现一个TabLayout,它在两个片段之间切换。它们是这样处理的:Android Fragment事务错误参数Fragment的类型应为Android.support.v4.app.Fragment,android,android-fragments,Android,Android Fragments,在我的应用程序中,我的主要活动是实现一个TabLayout,它在两个片段之间切换。它们是这样处理的: private class PagerAdapter extends FragmentPagerAdapter { PagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position)
private class PagerAdapter extends FragmentPagerAdapter {
PagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return position == 0 ? Tab1Frag.getInstance()
: Tab2Frag.getInstance();
}
@Override
public int getCount() {
return 2;
}
@Override
public CharSequence getPageTitle(int position) {
return position == 0 ? "Tab1" : "Tab2";
}
}
它们(这些片段)都是从
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager
否则我就不能这样使用它们
一切正常,但我现在面临这个问题。有时,我想使用以下方法使用不同的片段更改Tab1片段:
私有void replaceFragment(int代码){
FragmentTransaction ft=getFragmentManager().beginTransaction()
这是正常工作,但现在它面临的问题
FragmentTransaction ft = getFragmentManager().beginTransaction();
需要是appv4,但它不允许替换标准android.app.fragment中的片段。我如何使其工作,以便可以用其他片段替换选项卡布局中的片段?或者我需要使用新活动吗
谢谢你的建议
格泽戈兹
编辑:
解释一下,排队
ft.replace(R.id.fragmentFrame, fragment, FragmentWhatever.TAG);
我得到的错误是,第二个参数fragment的类型应该是android.suppotr.v4.app.fragment,而不是:
FragmentTransaction ft = getFragmentManager().beginTransaction();
使用支持库:
FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
另外,请确保导入:
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
您还可以使用它来替换片段
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction().replace(R.id.fragmentFrame, fragment).commit();
我确实导入了android.support.v4.app.Fragment;导入了android.support.v4.app.FragmentManager;导入了android.support.v4.app.FragmentTransaction;以及getSupportManager()未解决。我已编辑了我的问题,但这无法解决问题。请您看一看?ur
viewlistelementfragment
,EditElementFragment
。此片段类必须使用..import android.support.v4.app.fragment;
import android.support.v4.app.FragmentManager;import android.support.v4.app.FragmentTransaction;我执行了这些操作,但没有解析方法getSupportManager()。
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction().replace(R.id.fragmentFrame, fragment).commit();