Lyd*_*Lyd 8 java android exception android-fragments
我有一个活动一次托管一个片段,并在两个片段之间交换.片段A使用按钮启动片段B,片段B使用按钮或后退按钮启动片段A.
使用自定义按钮从Fragment A到B以及从B到A时,一切正常.问题是当我使用后退按钮从片段B转到A(片段A将事务添加到后栈)时.
当在Fragment B上按下后退按钮时,我得到了几个"找不到类android.transition.Transition"异常和"无法解决check-cast 1217警告,如每个警告11,不会导致程序崩溃:
我不知道这意味着什么,或者如何解决这个问题.
这就是片段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();
}
});
Run Code Online (Sandbox Code Playgroud)
这就是片段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();
}
});
Run Code Online (Sandbox Code Playgroud)
这就是主机活动如何开始片段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();
}
}
Run Code Online (Sandbox Code Playgroud)
谁知道这个问题的原因?
这是完整的错误日志:http://pastebin.com/CPtCUBYg
小智 1
有点晚了,但我可能有东西。不确定这个问题的原因是什么,我稍后会进行一些研究,但是在我更新 android-support lib 后,在我的项目中发生了同样的错误。使用旧版本(位于 HoloEverywhere 库内)可以正常工作。尝试使用旧版本的 android-support 看看是否效果更好。也许某些东西在最近的版本中被弃用了,但我不确定。
归档时间: |
|
查看次数: |
2050 次 |
最近记录: |