Java 非活动类Android中的重写方法
我正在开发一个使用默认照相机应用程序拍照的应用程序。现在我想检查一下有没有人拍了这张照片 我继续读下去,以便用这种方法可以做到:Java 非活动类Android中的重写方法,java,android,overriding,Java,Android,Overriding,我正在开发一个使用默认照相机应用程序拍照的应用程序。现在我想检查一下有没有人拍了这张照片 我继续读下去,以便用这种方法可以做到: @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { ... } 我的问题是,当我将该方法放在我的类中时(该类不是活动类),我得到了错误: “ActivityResult(..)上的方法必须重写或实现超类型方法” 我已经检查过了,
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
...
}
我的问题是,当我将该方法放在我的类中时(该类不是活动类),我得到了错误:
“ActivityResult(..)上的方法必须重写或实现超类型方法”
我已经检查过了,我的编译器设置为Java1.6。我的jre设置为1.6
我该怎么办?您只能从另一个活动或片段中的活动中获取结果。 因此,您只能从扩展Activity的类或其子类(实际上与java相关,与android无关)扩展onActivityResult()。 此外,必须在调用startActivityForResult()的同一活动中扩展和定义onActivityResult() 如果您需要在另一个不扩展Activity的类中执行代码,只需实现您自己的方法并从onActivityResult()内部调用它
只能从另一个活动或片段中的活动中获取结果。 因此,您只能从扩展Activity的类或其子类(实际上与java相关,与android无关)扩展onActivityResult()。 此外,必须在调用startActivityForResult()的同一活动中扩展和定义onActivityResult() 如果您需要在另一个不扩展Activity的类中执行代码,只需实现您自己的方法并从onActivityResult()内部调用它
您需要执行
活动
,才能接收摄像头操作的结果。为什么要将代码放在其他类中?如果只是为了重复使用/组织,那么为什么不直接从您的活动中呼叫您的其他班级呢
public class SomeOtherClass {
public static void someOtherMethod(int requestCode, int resultCode, Intent data){
...
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
SomeOtherClass.someOtherMethod(requestCode,resultCode,data);
...
}
您需要执行活动
,才能接收摄像头操作的结果。为什么要将代码放在其他类中?如果只是为了重复使用/组织,那么为什么不直接从您的活动中呼叫您的其他班级呢
public class SomeOtherClass {
public static void someOtherMethod(int requestCode, int resultCode, Intent data){
...
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
SomeOtherClass.someOtherMethod(requestCode,resultCode,data);
...
}
不,您不能重写一个类(活动)中的一个方法,而该类不是该类的子类。这意味着什么呢?onActivityResult()
是类Activity
中的一个方法。因此,如果您不扩展活动
,则无法重写它。请将该方法放入活动类中。当你从camera应用程序返回时,它将被调用。不,你不能从一个类(活动)重写一个方法,而该类不是该类的子类。这意味着什么呢?onActivityResult()
是类Activity
中的一个方法。因此,如果您不扩展活动
,则无法重写它。请将该方法放入活动类中。当你从相机应用程序返回时,它将被调用。这是我决定实施的解决方案。这就足够了。多谢各位@Benoît Bouré的结果也是正确的。这是我决定实施的解决方案。这就足够了。多谢各位@Benoît Bouré的结果也是正确的,这个解也足够好。多谢各位@c的结果也是正确的。这个解决方案也足够好。多谢各位@c的结果也是正确的。