그래서 호환성 라이브러리를 사용하기 위해 기존 Android 장치에서 실행하려는 프로젝트에서 작업하고 있습니다. NewsReader와 비슷한 인터페이스를 사용하고 있는데, Activity에있는 두 조각 대신 ViewPagger에 포함 된 다른 Fragment에 포함되어 있습니다. 우리는 이러한 용어를 사용 편의를 위해 호환성을 사용하는 동안 작업에서 FragmentTransaction을 가져 오는 데 문제가 발생했습니다.
... ContainerFragment에서Activity -> ViewPager -> ContainerFragment->Fragment1
->Fragment2
이 전화의 경우 내가 조각 2 조각 1을 대체하기 위해 노력하고 있어요 그래서 나는 ContainerFragment에 다음 코드를 시도 ...
import android.support.v4.app.FragmentTransaction;
...
public void onBarSelected(Integer index) {
selectedBarIndex = index;
if (isDualPane) {
// display it on the article fragment
mBarEditFragment.displayBar(index);
}
else {
// use separate activity
FragmentActivity activity = (FragmentActivity)getActivity();
FragmentTransaction ft = activity.getFragmentManager().beginTransaction();
ft.replace(R.id.bar_container, new BarEditFragment(),R.id.bar_edit);
}
}
하지만
Type mismatch: cannot convert from android.app.FragmentTransaction
to android.support.v4.app.FragmentTransaction
내가 거라고 다음과 같은 컴파일 오류를 얻을 ouble가 체크되고 액티비티가 FragmentActivity와의 호환성을 확장시킨다.
UPDATE
가 변경 시도 ...
하고 있어요 ....
MainActivity activity = (MainActivity)getActivity();
Object test = activity.getFragmentManager().beginTransaction();
FragmentTransaction ft = (FragmentTransaction)test;
ft.replace(R.id.bar_container, new BarEditFragment());
그리고 내가 가진 ...
java.lang.ClassCastException: android.app.BackStackRecord cannot be cast to android.support.v4.app.FragmentTransaction
어떤 아이디어가?
답변 : 나는 내 문제를 파악
문제는 당신이 활동에서 조각 관리자를받지해야하며 대신 단편에서 그것을 얻을해야합니다. 같은 문제에 직면
이 작동 ....
public void onBarSelected(Integer index) {
selectedBarIndex = index;
if (isDualPane) {
// display it on the article fragment
//mBarEditFragment.displayBar(index);
}
else {
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.bar_container, new BarEditFragment());
ft.commit();
}
}
당신은 또한 당신이 지원을 가져 확인해 봤어 라이브러리는 ContainerFragment에 있습니까? 또한 ft.replace() 후에 ft.commit()을 호출해야합니다. –
즉, "import android.support.v4.app.FragmentTransaction"이 아니라 "android.app.FragmentTransaction 가져 오기". –
예 저는 import ... android.support.v4.app.FragmentTransaction; – Jackie