在我的應用程序中,我有主要的活動,它實現了TabLayout之間切換兩個片段。他們是這樣處理的:Android的片段事務錯誤的參數,片段,應該是android.support.v4.app.Fragment類型
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片段:
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中替換片段。我怎樣才能使它工作,所以我的標籤佈局片段可以被替換爲不同的片段?或者我需要使用新的活動?
感謝您在advnace 格熱戈日
編輯:
講解。在線路
ft.replace(R.id.fragmentFrame, fragment, FragmentWhatever.TAG);
我得到錯誤的第二個參數,片段,應該是類型android.suppotr.v4.app.Fragment
我做進口android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction;並且getSupportManager()未解析。 –
我已編輯答案... – rafsanahmad007
我編輯了我的問題,但這不能解決問題。你可以看一下嗎? –