Java 如何在另一个活动中使用来自一个活动的方法?
我想在另一个活动中使用我的方法Java 如何在另一个活动中使用来自一个活动的方法?,java,android,Java,Android,我想在另一个活动中使用我的方法onImageFromCameraClick,但当我尝试在其他活动中使用它时,会导致以下错误: java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“android.content.pm.PackageManager android.content.Context.getPackageManager()” 我如何在其他活动中使用该方法 方法onImageFromCameraClick(): 其他活动: case "camera
onImageFromCameraClick
,但当我尝试在其他活动中使用它时,会导致以下错误:
java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“android.content.pm.PackageManager android.content.Context.getPackageManager()”
我如何在其他活动中使用该方法
方法onImageFromCameraClick():
其他活动:
case "cameraStart":
Handler mHandler = new Handler(Looper.getMainLooper());
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
FaceDetectionActivity fm = new FaceDetectionActivity();
fm.onImageFromCameraClick();
} }, 0);
break; }
break;
// Code end
如果我正确理解了您的问题,您可以尝试使用包含onImageFromCameraClick()的主类的
上下文来初始化对其他活动中主类的引用,例如:
MainActivity main = (MainActivity) context;
main.onImageFromCameraClick();
通过将此
的实例传递到其他活动中,您可以从主类获得上下文
。如果我正确理解了您的问题,您可以尝试使用包含onImageFromCameraClick()的主类的上下文
在其他活动中初始化对主类的引用,例如:
MainActivity main = (MainActivity) context;
main.onImageFromCameraClick();
通过将此
的实例传递到其他活动中,您可以从主类中获取上下文。I这是因为您的FaceDetectionActivity是通过新建创建的。
我给你准备了这个:
public void onImageFromCameraClick() {
...
getApplicationContext().getPackageManager()
...
}
这是因为您的FaceDetectionActivity是由新建的创建的。
我给你准备了这个:
public void onImageFromCameraClick() {
...
getApplicationContext().getPackageManager()
...
}
下面是不可能的
FaceDetectionActivity fm = new FaceDetectionActivity();
fm.onImageFromCameraClick();
在给出解决方案之前,我建议您先阅读Android
现在的解决方案是将onImageFromCameraClick()
移动到实用程序类,并将上下文作为onImageFromCameraClick(上下文上下文){}
传递给它。使用此上下文而不是下面的getApplicationContext()
是不可能的
FaceDetectionActivity fm = new FaceDetectionActivity();
fm.onImageFromCameraClick();
在给出解决方案之前,我建议您先阅读Android
现在的解决方案是将onImageFromCameraClick()
移动到实用程序类,并将上下文作为onImageFromCameraClick(上下文上下文){}
传递给它。使用此上下文而不是getApplicationContext()
我认为intent.resolveActivity(getPackageManager())
不起作用。我认为intent.resolveActivity(getPackageManager())
不起作用。我认为intent.resolveActivity(getPackageManager())
不起作用。我认为intent.resolveActivity不起作用(getPackageManager())
不起作用。@Namkun没问题,很高兴我能帮忙!@Namkun没问题,很高兴我能帮忙!