Объект canvas не прорисовывается при касании

245
29 августа 2018, 10:10

Не получается сделать так, чтобы при касании на экран появляется объект canvas цифра 8 в точке нажатия. Помогите исправить ошибку.

   public class MainActivity extends AppCompatActivity implements View.OnTouchListener {
float x;
float y;
float x1;
float y1;
DrawView p1 = new DrawView();
Canvas canvas;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(new DrawView(this));
}
class DrawView extends View {
    Paint paint;
    public DrawView(Context context) {
        super(context);
        paint = new Paint();
    }
    @Override
    public void onDraw(Canvas canvas) {
        canvas.drawColor(Color.GRAY);
        paint.setTextSize(50.0f);
        paint.setColor(Color.RED);
        paint.setStrokeWidth(10);
        canvas.drawText("8",x, y, paint);
    }
}
@Override
public boolean onTouch(View v, MotionEvent event) {
    x = event.getX();
    y = event.getY();
    switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN: // нажатие
            x1=x;
            y1=y;
            canvas.drawText("8",x1, y1, p1);
            break;
    }
    return true;
}
}
READ ALSO
Как передать ссылку на Activity Presenter в Fragment Presenter

Как передать ссылку на Activity Presenter в Fragment Presenter

Всем привет, я создаю андроид приложение с архитектурой MVPУ меня есть Activity и у нее есть Presenter

255
исключает ли использование synchronized, volatile?

исключает ли использование synchronized, volatile?

исключает ли использование synchronized, volatile?

184
Авторизация в JSF Java EE

Авторизация в JSF Java EE

Пишу авторизацию пользователей в моем Web приложении на JSF, возникла проблема в том, что когда мы используем теги h:inputText & h:inputSecret, а потом...

236