- Forum-Beiträge: 3
18.06.2014, 19:57:24 via Website
18.06.2014 19:57:24 via Website
Erst einmal Hallo!
Ich habe ein Problem.
Ich wollte nur mal probehalber auf einer Canvas zeichnen.
Dazu habe ich folgenden Code kopiert:
Das ist meine Draw.java:
package com.example.turtle;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
public class Draw extends Activity {
DrawView drawView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Set full screen view
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
requestWindowFeature(Window.FEATURE_NO_TITLE);
drawView = new DrawView(this);
setContentView(drawView);
drawView.requestFocus();
}
}
Das ist meine DrawView.java:
package com.example.turtle;
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
public class DrawView extends View implements OnTouchListener {
private static final String TAG = "DrawView";
List<Point> points = new ArrayList<Point>();
Paint paint = new Paint();
public DrawView(Context context) {
super(context);
setFocusable(true);
setFocusableInTouchMode(true);
this.setOnTouchListener(this);
paint.setColor(Color.WHITE);
paint.setAntiAlias(true);
}
@Override
public void onDraw(Canvas canvas) {
for (Point point : points) {
canvas.drawCircle(point.x, point.y, 5, paint);
// Log.d(TAG, "Painting: "+point);
}
}
public boolean onTouch(View view, MotionEvent event) {
// if(event.getAction() != MotionEvent.ACTION_DOWN)
// return super.onTouchEvent(event);
Point point = new Point();
point.x = event.getX();
point.y = event.getY();
points.add(point);
invalidate();
Log.d(TAG, "point: " + point);
return true;
}
}
class Point {
float x, y;
@Override
public String toString() {
return x + ", " + y;
}
}
Wenn ich das Programm nun von Eclipse aus starte, steht unten rechts nur kurz, dass das Programm gestartet wird. Weder auf meinem Handy noch auf dem Emulator passiert etwas.
Andere Programme funktionieren hingegen.
Wisst ihr, wo der Fehler liegt? Da der Quellcode ja nur kopiert ist, kann an dem ja nichts verkehrt sein. Es wird auch auf dem Handy keine Verknüpfung zu dem Programm angelegt, wie es sonst immer passiert, wenn ich etwas aus Eclipse starte.
Ich hoffe, Ihr könnt mir helfen. Das macht einen ja völlig verrückt, wenn es einfach grundlos nicht funktioniert.
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.