Java 从静态方法完成碎片活动
我正在尝试完成我的Java 从静态方法完成碎片活动,java,android,exception,casting,Java,Android,Exception,Casting,我正在尝试完成我的类,它从静态方法扩展了片段活动:- private static void myFinish(Context context,Activity activity) { [some code] activity.finish(); } 根据此方法:- private static void remove(Context context) { myFinish(context, ((Activity) context).getParent());
类
,它从静态方法扩展了片段活动
:-
private static void myFinish(Context context,Activity activity) {
[some code]
activity.finish();
}
根据此方法:-
private static void remove(Context context) {
myFinish(context, ((Activity) context).getParent());
}
此代码编译
,但给我一个错误:-
java.lang.ClassCastException: android.app.Application cannot be cast to android.app.Activity
我该如何解决这个问题呢?我想您希望在一个片段内完成您的
片段活动
这就是工作原理:
getActivity().finish()代码>
如果您在片段活动
中,您可以使用finish()
我找到了一个简单的解决方案。
宣布:
在onCreate中:
activity = this;
然后
做这个工作。这对我来说很有效。我希望这有帮助
((Activity)context).finish();
创建一个活动EmptyActivity,通过意图调用EmptyActivity,只需完成EmptyActivity,但将android:noHistory=“true”放在清单中的EmptyActivity中不,我得到一个方法getActivity()对于类型SMSPoppupActivity
是未定义的。我在:公共类SMSPoppupActivity扩展了FragmentActivity{
我已经尝试过了,我从类型Activity中得到了无法对非静态方法finish()进行静态引用看起来你的上下文来自应用程序而不是活动简单的方式。上下文上下文;然后在oncreate:context=this;
activity.finish();
((Activity)context).finish();