按下后退按钮时“找不到类android.transition.Transition”异常

时间:2014-11-05 00:40:01

标签: java android exception android-fragments

我有一个活动一次托管一个片段,并在两个片段之间交换。片段A使用按钮启动片段B,片段B使用按钮或后退按钮启动片段A.

使用自定义按钮从Fragment A到B以及从B到A时,一切正常。问题是我使用后退按钮从片段B转到A(片段A将事务添加到后栈)。

当在片段B上按下后退按钮时,我得到了几个“找不到类android.transition.Transition”异常和“无法解决1217格式的警告,如每个警告11个,不会崩溃程序:

Log

我不知道这意味着什么,或者如何解决这个问题。

这就是片段A启动片段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();
    }
});

这就是片段B如何开始片段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();
    }
});

这就是主机活动如何开始片段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();
    }
}

有谁知道这个问题的原因?

以下是完整的错误日志:http://pastebin.com/CPtCUBYg

1 个答案:

答案 0 :(得分:1)

有点晚了,但我可能会有所收获。不知道是什么原因引起了这个问题,我稍后会做一些研究,但是在我更新了android-support lib之后,我的Project发生了同样的错误。使用旧版本(在HoloEverywhere库中)可正常工作。 尝试使用较旧版本的android-support来查看是否效果更好。也许在最近的版本中有些东西被弃用了,但我不确定。