J'essaye de créer une view perso, mais lors du chargement j'ai le droit a un bel android.view.InflateException.

Ma view perso :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;
 
public class ViewfinderView extends View {
	Paint paint = new Paint();
 
	public ViewfinderView(Context context) {
		super(context);
	}
 
	@Override
	protected void onDraw(Canvas canvas) {
		paint.setColor(Color.RED);
		paint.setStrokeWidth(1);
		paint.setStyle(Paint.Style.STROKE);
		canvas.drawRect(30, 80, 30, 80, paint);
	}
}
Le code qui plante dans l'activity :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_camera_un); //Ligne qui genere l'exception
}
Le fichier xml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
 
    <com.konatic.app.ViewfinderView
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
</RelativeLayout>
Et la stack trace de l'exception :
04-08 13:40:30.573 4614-4614/com.konatic.app E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.konatic.app, PID: 4614
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.konatic.app/com.konatic.app.Camera1Activity}: android.view.InflateException: Binary XML file line #8: Error inflating class com.konatic.app.ViewfinderView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2442)
at android.app.ActivityThread.access$800(ActivityThread.java:156)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1351)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:211)
at android.app.ActivityThread.main(ActivityThread.java:5389)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1020)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:815)
Caused by: android.view.InflateException: Binary XML file line #8: Error inflating class com.konatic.app.ViewfinderView
at android.view.LayoutInflater.createView(LayoutInflater.java:616)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:276)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
at com.konatic.app.Camera1Activity.onCreate(Camera1Activity.java:70)
at android.app.Activity.performCreate(Activity.java:5990)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2332)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2442)*
at android.app.ActivityThread.access$800(ActivityThread.java:156)*
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1351)*
at android.os.Handler.dispatchMessage(Handler.java:102)*
at android.os.Looper.loop(Looper.java:211)*
at android.app.ActivityThread.main(ActivityThread.java:5389)*
at java.lang.reflect.Method.invoke(Native Method)*
at java.lang.reflect.Method.invoke(Method.java:372)*
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1020)*
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:815)*
Caused by: java.lang.NoSuchMethodException: <init> [class android.content.Context, interface android.util.AttributeSet]
at java.lang.Class.getConstructor(Class.java:531)
at java.lang.Class.getConstructor(Class.java:495)
at android.view.LayoutInflater.createView(LayoutInflater.java:580)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743)*
at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)*
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)*
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)*
at android.view.LayoutInflater.inflate(LayoutInflater.java:365)*
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:276)*
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)*
at com.konatic.app.Camera1Activity.onCreate(Camera1Activity.java:70)*
at android.app.Activity.performCreate(Activity.java:5990)*
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)*
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2332)*
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2442)*
at android.app.ActivityThread.access$800(ActivityThread.java:156)*
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1351)*
at android.os.Handler.dispatchMessage(Handler.java:102)*
at android.os.Looper.loop(Looper.java:211)*
at android.app.ActivityThread.main(ActivityThread.java:5389)*
at java.lang.reflect.Method.invoke(Native Method)*
at java.lang.reflect.Method.invoke(Method.java:372)*
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1020)*
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:815)*
J'ai fouillé internet et je n'ai pas trouvé de réponse à mon problème.
Quelqu'un en a une ?