Итак, я пишу программу для Android. Прямо сейчас я нахожусь в классе GraphicsView, который расширяет View и реализует View.OnClickListener. Я создал кнопку mLeft, которая должна сдвигать объект влево при нажатии. Я пытаюсь заставить это отображаться в левом нижнем углу экрана. В моем конструкторе для GraphicsView у меня есть код:
mLeft = new Button (context.getApplicationContext ());
mLeft.setId (1); // wasn't sure what else to set for an id, I only did that to see if it would fix anything
mLeft.setOnClickListener (this);
И в моем onDraw у меня есть:
mLeft.draw (canvas);
С этим кодом программа работает нормально, и когда я перехожу к занятию, использующему GraphicsView, оно работает совершенно нормально, за исключением лица, которое нигде не отображается.
У меня также есть эта лань в моем конструкторе, прямо под setOnClickListener:
mLeft.setX (0);
mLeft.setY (mDisplay.getHeight () - 64);
mLeft.setHeight (64);
mLeft.setWidth (64);
mLeft.setBackgroundColor (80000000);
mLeft.setText ("<");
Всякий раз, когда у меня есть этот код, и я перехожу к этому действию, программа вылетает. У меня есть onClick там, и кроме «Button mLeft» вверху, это весь код, который я связал с этой кнопкой. По сути, похоже, что программа дает сбой всякий раз, когда я пытаюсь вызвать любой из этих методов из Button. Я пытался комментировать их там, но в коде присутствует только один из них, поэтому я знаю, что каждый из них по отдельности может убить программу.
LogCat говорит: «12-04 15: 11: 03.581: I / dalvikvm (2692): не удалось найти метод android.widget.Button.setX, на который ссылается метод edu.pacificu.cs.Views.GraphicsView.»
Спасибо за вашу помощь.