2015-11-11 2 views
0

Я следующий учебник по https://github.com/codepath/android_guides/wiki/Basic-Painting-with-Views в котором говорится, что для начала я должен создать представление:View - Не имеет нулевого аргумента конструктора

public class SimpleDrawingView extends View { 
    public SimpleDrawingView(Context context, AttributeSet attrs) { 
     super(context, attrs); 
    } 
} 

Обратите внимание, что до здесь все в порядке. Затем я добавить макет XML:

<com.codepath.example.simpledrawapp.SimpleDrawingView 
     android:id="@+id/simpleDrawingView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentTop="true" /> 

Теперь я попытался сделать следующее на моем собственном коде, и даже точный код при условии, каждый раз, когда я запустить эмулятор, я получаю следующую ошибку:

java.lang.InstantiationException: java.lang.Class<com.company.cw.MainActivity> has no zero argument constructor 
    enter code here 

Любые идеи о том, как решить эту кажущуюся тривиальную проблему?

ответ

1

Проблема не имеет ничего общего с вашим взглядом. Это связано с com.company.cw.MainActivity. Если вы посмотрите на свое сообщение об ошибке, вы увидите, что оно не упоминает ваше мнение, но упоминает com.company.cw.MainActivity.

Ваш вопрос не содержит кода для com.company.cw.MainActivity, но, по-видимому, он реализует конструктор, особенно тот, который принимает параметры. Не делайте этого. Для начала он никогда не будет вызван, так что это пустая трата от нажатия клавиш. Любая инициализация, которую вы хотите сделать, должна быть в onCreate(), обычно после super.onCreate().

Смежные вопросы