[英]opening a SherlockFragment activity from non activity class?
我正在尝试使用非常规类的活动来打开SherlockFragment活动
Android.app.Activity >> NonActivityClass >> SherlockFragmentActivity
将其从Activity类传递给NonActivityClass并尝试启动SherlockFragmentActivity
代码-
private void changeFragment(Activity act) {
Fragment profileFrag = new New_ProfileFragment();
FragmentTransaction transaction = ((SherlockFragmentActivity) act)
.getSupportFragmentManager().beginTransaction();
try {
((SherlockFragmentActivity) act).getSupportFragmentManager()
.popBackStackImmediate(profileFrag.toString(),
FragmentManager.POP_BACK_STACK_INCLUSIVE);
} catch (java.lang.IllegalStateException e) {
}
transaction.addToBackStack(profileFrag.toString());
transaction.replace(R.id.content_frame, profileFrag);
transaction.commitAllowingStateLoss();
((SherlockFragmentActivity) act).getSupportFragmentManager()
.executePendingTransactions();
}
我在输入错误
FragmentTransaction transaction = ((SherlockFragmentActivity) act)
.getSupportFragmentManager().beginTransaction();
异常 -java.lang.ClassCastException:无法将活动强制转换为com.actionbarsherlock.app.SherlockFragmentActivity
一种。 您知道ActionBarSherlock已经过时2年了吗?
b。
活动不能转换为com.actionbarsherlock.app.SherlockFragmentActivity
几乎说明了一切。 您无法将android.app.Activity
转换为SherlockFragmentActivity
因为从我看到的内容来看, SherlockFragmentActivity
不会扩展android.app.Activity
。
C。 你要么要做
activity.getFragmentManager()
或者,如果您必须使用SupportFragmentManager
,那么您的第一个活动必须是android.support.v4.app.FragmentActivity
因此您可以
activity.getSupportFragmentManager()
无论哪种方式,都可以摆脱ActionBarSherlock
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.