gpt4 book ai didi

Android Fragment Transaction 错误的参数, fragment ,应该是 android.support.v4.app.Fragment 类型

转载 作者:行者123 更新时间:2023-11-30 00:25:22 25 4
gpt4 key购买 nike

在我的应用程序中,我有一个主要的 Activity,它实现了一个在两个 fragment 之间切换的 TabLayout。它们是这样处理的:

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";
}
}

它们(这些 fragment )都实现自

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

否则我不能以这种方式使用它们。

一切正常,但现在我遇到了问题。我有时想使用以下方法将 Tab1 fragment 更改为不同的 fragment :

private void replaceFragment(int code) { FragmentTransaction ft = getFragmentManager().beginTransaction();

    if(code==0){
ViewListElementFrag fragment = new ViewListElementFrag ();
ft.replace(R.id.fragmentFrame, fragment, ViewListElementFrag.TAG);
}
else if(code==1){
EditElementFragment fragment = new EditElementFragment ();
ft.replace(R.id.fragmentFrame, fragment, EditElementFragment.TAG);
}
ft.commit();
}

本来是可以正常工作的,但是现在却遇到了问题。

FragmentTransaction ft = getFragmentManager().beginTransaction();

必须是 appv4,但它不允许替换标准 android.app.fragment 中的 fragment 。我怎样才能让它工作,所以我的选项卡布局 fragment 可以被不同的 fragment 替换?还是我需要使用新 Activity ?

提前谢谢你格热戈日

编辑:

解释一下。在行中

 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;

关于Android Fragment Transaction 错误的参数, fragment ,应该是 android.support.v4.app.Fragment 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45468382/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com