Android Studio | Button do rysowania

0

Siemka. Mam problem. Muszę stworzyć buttona, który przeniesie nas do funkcji rysowania. Rysowanie mam, działa ale... jeśli zrobię przycisk z przekierowaniem na klasę z rysowaniem to się aplikacja sypie. Mogę ktoś wie dlaczego ?

Klasa rysująca:

package artfusion.upowaznienia;

import android.app.IntentService;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.os.Bundle;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;

public class SimpleDrawingView extends View {
    private final int paintColor = Color.RED;
    private Paint drawPaint;
    private Path path = new Path();

    public SimpleDrawingView(Context context, AttributeSet attrs) {
        super(context, attrs);
        setFocusable(true);
        setFocusableInTouchMode(true);
        setupPaint();
    }

    private void setupPaint() {
        // Setup paint with color and stroke styles
        drawPaint = new Paint();
        drawPaint.setColor(paintColor);
        drawPaint.setAntiAlias(true);
        drawPaint.setStrokeWidth(5);
        drawPaint.setStyle(Paint.Style.STROKE);
        drawPaint.setStrokeJoin(Paint.Join.ROUND);
        drawPaint.setStrokeCap(Paint.Cap.ROUND);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        canvas.drawPath(path, drawPaint);
    }

     @Override
    public boolean onTouchEvent(MotionEvent event) {
        float pointX = event.getX();
        float pointY = event.getY();
        // Checks for the event that occurs
        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                path.moveTo(pointX, pointY);
                return true;
            case MotionEvent.ACTION_MOVE:
                path.lineTo(pointX, pointY);
                break;
            default:
                return false;
        }
        postInvalidate();
        return true;
    }
}

Obsługa przycisku:

Button button_zapiszDane_firma = (Button)findViewById(R.id.button_zapiszDane_firma);
        button_zapiszDane_firma.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(getApplicationContext(),"Dane zapisano poprawnie!", Toast.LENGTH_LONG).show();

                Intent myIntent = new Intent(getApplicationContext(), SimpleDrawingView.class);
                startActivity(myIntent);
            }

        });
0

Intent myIntent = new Intent(getApplicationContext(), SimpleDrawingView.class);
startActivity(myIntent);

To tak nie działa. Musisz podać klasę dziedziczącą po Activity, a ty podałeś klasę dziedziczącą po View. Jeśli chcesz się przenieść do innego ekranu, to musisz zdefiniować nową aktywność:
https://developer.android.com/training/basics/firstapp/starting-activity.html

1 użytkowników online, w tym zalogowanych: 0, gości: 1