我正在我的安卓应用程序中使用亚兰蒂斯库"UCrop"来裁剪、缩放和旋转来自内置智能手机摄像头的图像。当我调用uCrop.start(this)
时,UCropActivity
启动,在左上角,取消按钮显示为一个小十字。
现在,当我按下取消按钮时,应用程序崩溃并显示以下异常:
FATAL EXCEPTION: main
Process: com.myapp.myappname, PID: 25034
java.lang.RuntimeException: Unable to start activity
ComponentInfo{com.myapp.myappname/com.myapp.myappname.myActivity}:
java.lang.NullPointerException: Attempt to invoke virtual method 'int
java.lang.String.length()' on a null object reference
当我按下软键后退按钮时,我会保存地返回到myActivity
。
现在的问题是,我如何影响取消按钮的行为,使其行为类似于后退按钮或以不会导致异常的方式重新启动myActivity
?
在 ucrop 示例项目的SampleActivity
中,取消按钮的行为与我预期的那样。
我找到了一种解决我在应用程序中看到的此问题的方法:
在类UCropActivity
onOptionsItemSelected(...)
方法中的行onBackPressed();
后添加一个return true;
将为我解决问题。
不要问我为什么当我按下软键后退按钮时它会表现不同。