簡體   English   中英

需要android.support.v4.app.FragmentTransaction

[英]android.support.v4.app.FragmentTransaction required

輸入這樣的代碼:

FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();

出現此錯誤“android.support.v4.app.FragmentTransaction transaction = getSupportFragmentManager()。beginTransaction();” 並將此作為一個快速修復,實際上刪除錯誤:

android.support.v4.app.FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();

我在我的主要活動中輸入這個,擴展了FragmentActivity。 有人知道為什么嗎? 我包括:

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;

編輯

 DescriptionFragment fragment = new DescriptionFragment();
            android.support.v4.app.FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
            ft.replace(R.id.pager, fragment);
            ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
            ft.commit();

將getSupportFragmentManager()更改為getFragmentManager()需要我將DescriptionFragment更改為android.app.Fragment ...任何想法?

使用getSupportFragmentManager(),您將獲得supportLibrary fragmentManager而不是系統fragmentManager。 因此,您正在處理supportlibrary的事務。

這就是為什么你需要添加所有這些導入並使用android.support.v4.app的原因。

如果你想獲得系統fragmentManager,只需嘗試使用getFragmentManager()而不是getSupportFragmentManager()。

希望這可以幫助

試試這個

public class DescriptionFragment擴展android.support.v4.app.Fragment

而不是簡單的片段。

您是否已將android.support.v4.jar文件導入您的項目?

好的...只需創建一個片段方法並調用它,如:

void addfragment(Fragment fragment, boolean addBacktoStack, int transition) {
    FragmentTransaction ft = getFragmentManager().beginTransaction();
    ft.replace(R.id.simple_fragment, fragment);
    ft.setTransition(transition);
    if (addBacktoStack)
        ft.addToBackStack(null);
    ft.commit();

}

現在只需打電話給你的碎片:

addfragment(new DescriptionFragment(this),true, FragmentTransaction.TRANSIT_FRAGMENT_OPEN);

getActivity()解決我的問題android.app.FragmentManager fragmentManager = getActivity().getFragmentManager();

在Activity導入android.app.Fragment ..在Fragment擴展與android.app.Fragment ..這解決了我的問題...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM