Mam jedną czynność, która zawiera po jednym fragmencie na raz i zamienia się między dwoma fragmentami. Fragment A rozpoczyna fragment B za pomocą przycisku, a Fragment B rozpoczyna fragment A za pomocą przycisku lub przycisku wstecz."Nie można znaleźć wyjątku klasy android.transition.Transition" po naciśnięciu przycisku cofania
Wszystko działa poprawnie podczas przechodzenia od fragmentów A do B i od B do A za pomocą niestandardowych przycisków. Problem polega na tym, że za pomocą przycisku wstecz przechodzę od fragmentu B do A (Fragment A dodaje transakcję do tylnego stosu).
Po naciśnięciu przycisku Wstecz podczas fragmentu B otrzymuję kilka wyjątków "Nie można znaleźć wyjątków dla klasy android.transition.Transition" i "Nie można rozpoznać 1217-czek odlewania, takich jak 11, które nie powodują awarii program:.
nie mam pojęcia, co to oznacza i jak można to rozwiązać
ten sposób rozpoczyna Fragment Fragment B:
mButtonNextFragment.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentManager fm = getActivity().getSupportFragmentManager();
Fragment fragment = FragmentTwo.newInstance(mCount);
fragment.setTargetFragment(FragmentOne.this, 0);
fm.beginTransaction()
.addToBackStack("transaction1")
.replace(R.id.layout_fragmentContainer, fragment)
.commit();
}
});
ten sposób rozpoczyna Fragment B Fragment A:
mButtonPrevFragment.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentManager fm = getActivity().getSupportFragmentManager();
fm.beginTransaction()
.replace(R.id.layout_fragmentContainer, getTargetFragment())
.commit();
}
});
I tak rozpoczyna działalność gospodarza Fragment A:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fragment_container);
FragmentManager fm = getSupportFragmentManager();
Fragment fragment = fm.findFragmentById(R.id.layout_fragmentContainer);
if (fragment == null) {
fragment = new FragmentOne();
fm.beginTransaction()
.add(R.id.layout_fragmentContainer, fragment)
.commit();
}
}
ktoś zna przyczynę tego problemu?
Oto pełna dziennika błędów: http://pastebin.com/CPtCUBYg
czy zastąpiłeś onbackpressed? –
@nayoso Nie zastąpiłem onBackPressed – Rob
Myślę, że znalazłem twój problem, ale proszę napisać cały błąd? dla pewności .. Sir? – Elltz