Hallo,
nachdem ich das Java Tutorial durch habe, habe ich nun mit Android begonnen. Dafür verfolge ich dieses Tutorial (Episode 21 und 22).
Mein Problem ist jetzt aber, dass sobald ich die App auf meinem Handy starte, irgendeine Aktion ausführe, die App sofort beendet wird.
Die einzige Aktion die ausgeführt wird, ist die OnLongClick-Aktion des Buttons, aber sobald ich den Button loslasse, bricht auch hier die App ab.
Sieht jemand meinen Fehler?
Gruß
Gismodin
nachdem ich das Java Tutorial durch habe, habe ich nun mit Android begonnen. Dafür verfolge ich dieses Tutorial (Episode 21 und 22).
Mein Problem ist jetzt aber, dass sobald ich die App auf meinem Handy starte, irgendeine Aktion ausführe, die App sofort beendet wird.
Die einzige Aktion die ausgeführt wird, ist die OnLongClick-Aktion des Buttons, aber sobald ich den Button loslasse, bricht auch hier die App ab.
Sieht jemand meinen Fehler?
Code:
package com.example.eventhandling;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.view.MotionEvent;
import android.view.GestureDetector;
import android.support.v4.view.GestureDetectorCompat;
public class MainActivity extends AppCompatActivity implements GestureDetector.OnGestureListener,
GestureDetector.OnDoubleTapListener{
private TextView txtMain;
private GestureDetectorCompat gestureDetector;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnMain = (Button)findViewById(R.id.btnMain);
TextView txtMain = (TextView)findViewById(R.id.txtMain);
this.gestureDetector = new GestureDetectorCompat(this, this);
gestureDetector.setOnDoubleTapListener(this);
BtnMainClickHandler click = new BtnMainClickHandler();
btnMain.setOnClickListener(click);
BtnMainLongClickHandler longClick = new BtnMainLongClickHandler();
btnMain.setOnLongClickListener(longClick);
}
// Methods of GestureDetector.OnDoubleTapListener
@Override
public boolean onSingleTapConfirmed(MotionEvent e) {
txtMain.setText("onSingleTapConfirmed");
return true;
}
@Override
public boolean onDoubleTap(MotionEvent e) {
txtMain.setText("onDoubleTap");
return true;
}
@Override
public boolean onDoubleTapEvent(MotionEvent e) {
txtMain.setText("onDoubleTapEvent");
return true;
}
// Methods of GestureDetector.OnGestureListener
@Override
public boolean onDown(MotionEvent e) {
txtMain.setText("onDown");
return true;
}
@Override
public void onShowPress(MotionEvent e) {
txtMain.setText("onShowPress");
}
@Override
public boolean onSingleTapUp(MotionEvent e) {
txtMain.setText("onSingleTapConfirmed");
return true;
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
txtMain.setText("onScroll");
return true;
}
@Override
public void onLongPress(MotionEvent e) {
txtMain.setText("onLongPress");
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
txtMain.setText("onFling");
return true;
}
//////////// End Gestures ////////////
@Override
public boolean onTouchEvent(MotionEvent event) {
this.gestureDetector.onTouchEvent(event);
return super.onTouchEvent(event);
}
// Listeners for 'btnMain'
public class BtnMainClickHandler implements View.OnClickListener{
@Override
public void onClick(View v) {
txtMain.setText("Gut gemacht!");
}
}
public class BtnMainLongClickHandler implements View.OnLongClickListener{
@Override
public boolean onLongClick(View v) {
TextView txtMain = (TextView)findViewById(R.id.txtMain);
txtMain.setText("Drück mal nicht so lang!");
return false;
}
}
}
Gruß
Gismodin
Zuletzt bearbeitet: