InflateException (Ошибка надувания класса) при использовании пользовательского виджета в XML

1

Я создал собственное изображение. Но я получаю InflateException, когда я пытаюсь запустить это. Может кто-нибудь помочь мне решить эту проблему?

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:background="@drawable/herinnering_background">
 <be.test.ArrowImageView 
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:src="@drawable/kompas_arrow_car"
  />
</FrameLayout>


package be.test;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.widget.ImageView;

public class ArrowImageView extends ImageView{

    public ArrowImageView(Context context) {
        super(context);
    }

    @Override
    public void draw(Canvas canvas) {
        super.draw(canvas);

        Paint paint  = new Paint(Paint.LINEAR_TEXT_FLAG);
        paint.setColor(Color.GREEN);
        paint.setTextSize(12.0F);
        canvas.drawText("Hello World in custom view", 100, 100, paint);
    }
}
  • 0
    Можете ли вы вставить трассировку стека исключений?
Теги:
android-widget

1 ответ

10

Я думаю, проблема в том, что вам нужно реализовать конструктор с AttributeSet, потому что это тот, который используется LayoutInflator:

ImageView (контекст контекста, AttributeSet attrs)

  • 0
    Спасибо за помощь

Ещё вопросы

Сообщество Overcoder
Наверх
Меню