Created custom view and drawn different shapes on it,when i tries to place this customview in layout shapes on customview are overlapped with remaining screen and some times app crashing with null pointer exception. exception caused bcz of boundaries to drawable but i didn't get how to fix pls check my code
public void customDraw(Canvas canvas) {
canvas.save();
float dx = (maxX + minX) / 2;
float dy = (maxY + minY) / 2;
drawable.setBounds((int) minX, (int) minY, (int) maxX, (int) maxY);
//drawable.setBounds(50, 50, 50, 50);
canvas.translate(dx, dy);
canvas.rotate(angle * 180.0f / (float) Math.PI);
canvas.translate(-dx, -dy);
drawable.draw(canvas);
canvas.restore();
}
here i'm attaching my customview total class custonView file
here is stacktrace
10-09 11:38:19.142: E/AndroidRuntime(3673): FATAL EXCEPTION: main
10-09 11:38:19.142: E/AndroidRuntime(3673): java.lang.NullPointerException
10-09 11:38:19.142: E/AndroidRuntime(3673): at org.metalev.multitouch.photosortr.PhotoSortrView$Img.draw(PhotoSortrView.java:316)
10-09 11:38:19.142: E/AndroidRuntime(3673): at org.metalev.multitouch.photosortr.PhotoSortrView.onDraw(PhotoSortrView.java:124)
10-09 11:38:19.142: E/AndroidRuntime(3673): at android.view.View.draw(View.java:13707)
10-09 11:38:19.142: E/AndroidRuntime(3673): at android.view.View.draw(View.java:13591)
10-09 11:38:19.142: E/AndroidRuntime(3673): at android.view.ViewGroup.drawChild(ViewGroup.java:2928)
10-09 11:38:19.142: E/AndroidRuntime(3673): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2797)
10-09 11:38:19.142: E/AndroidRuntime(3673): at android.view.View.draw(View.java:13589)
10-09 11:38:19.142: E/AndroidRuntime(3673): at android.view.ViewGroup.drawChild(ViewGroup.java:2928)
10-09 11:38:19.142: E/AndroidRuntime(3673): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2797)
10-09 11:38:19.142: E/AndroidRuntime(3673): at android.view.View.draw(View.java:13589)
10-09 11:38:19.142: E/AndroidRuntime(3673): at android.view.ViewGroup.drawChild(ViewGroup.java:2928)
10-09 11:38:19.142: E/AndroidRuntime(3673): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2797)
10-09 11:38:19.142: E/AndroidRuntime(3673): at android.view.View.draw(View.java:13589)
10-09 11:38:19.142: E/AndroidRuntime(3673): at android.view.ViewGroup.drawChild(ViewGroup.java:2928)
10-09 11:38:19.142: E/AndroidRuntime(3673): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2797)
10-09 11:38:19.142: E/AndroidRuntime(3673): at android.view.View.draw(View.java:13710)
10-09 11:38:19.142: E/AndroidRuntime(3673): at android.widget.FrameLayout.draw(FrameLayout.java:467)
10-09 11:38:19.142: E/AndroidRuntime(3673): at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2211)
10-09 11:38:19.142: E/AndroidRuntime(3673): at android.view.ViewRootImpl.drawSoftware(ViewRootImpl.java:2281)
10-09 11:38:19.142: E/AndroidRuntime(3673): at android.view.ViewRootImpl.draw(ViewRootImpl.java:2177)
10-09 11:38:19.142: E/AndroidRuntime(3673): at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2045)
10-09 11:38:19.142: E/AndroidRuntime(3673): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1854)
10-09 11:38:19.142: E/AndroidRuntime(3673): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:989)
10-09 11:38:19.142: E/AndroidRuntime(3673): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4351)
10-09 11:38:19.142: E/AndroidRuntime(3673): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
10-09 11:38:19.142: E/AndroidRuntime(3673): at android.view.Choreographer.doCallbacks(Choreographer.java:562)
10-09 11:38:19.142: E/AndroidRuntime(3673): at android.view.Choreographer.doFrame(Choreographer.java:532)
10-09 11:38:19.142: E/AndroidRuntime(3673): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
10-09 11:38:19.142: E/AndroidRuntime(3673): at android.os.Handler.handleCallback(Handler.java:725)
10-09 11:38:19.142: E/AndroidRuntime(3673): at android.os.Handler.dispatchMessage(Handler.java:92)
10-09 11:38:19.142: E/AndroidRuntime(3673): at android.os.Looper.loop(Looper.java:137)
10-09 11:38:19.142: E/AndroidRuntime(3673): at android.app.ActivityThread.main(ActivityThread.java:5039)
10-09 11:38:19.142: E/AndroidRuntime(3673): at java.lang.reflect.Method.invokeNative(Native Method)
10-09 11:38:19.142: E/AndroidRuntime(3673): at java.lang.reflect.Method.invoke(Method.java:511)
10-09 11:38:19.142: E/AndroidRuntime(3673): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
10-09 11:38:19.142: E/AndroidRuntime(3673): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
10-09 11:38:19.142: E/AndroidRuntime(3673): at dalvik.system.NativeStart.main(Native Method)