Ich weiß nicht ob diese Methode besser ist, bzw ich find sie besser
Classe des TouchTimeListiner
Java
package tools.facebamm.baumert.daniel.de.tools;
import android.view.MotionEvent;
import android.view.View;
/**
* Created by DBaum on 24.03.2016.
*/
public abstract class onTimeTouchListener implements View.OnTouchListener {
private long sTime,eTime,mTime;
//Implentierung
public onTimeTouchListener()
{
sTime = 0;eTime = 0;mTime = 0;
}
//Registierung des Ontouchevents
@Override
public boolean onTouch(View v, MotionEvent event) {
int Action = event.getAction();
switch (Action)
{
case MotionEvent.ACTION_DOWN:
Start();
break;
case MotionEvent.ACTION_UP:
Stop();
break;
default:
accTouch();
break;
}
return false;
}
//Wiedergabe möglickeiten
private void accTouch()
{
long accTime = System.nanoTime();
mTime = accTime - sTime; // gibt die Acctuelle touch Zeit an
}
private void Start() {
this.sTime = System.nanoTime();
}
private void Stop() {
this.eTime = System.nanoTime();
}
public long getEndTime() {
return eTime;
}
public long getStartTime() {
return sTime;
}
public long getMaskeTime() {
return mTime;
}
}
Alles anzeigen
Setzen des TouchTimeListener
Java
findViewById(R.id.toucher).setOnTouchListener(new onTimeTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
String Text = String.format("Start Zeit:%s\n" +
"End Zeit:%s\n" +
"Acc Zeit:%s", getStartTime(), getEndTime(), getMaskeTime());
((TextView)findViewById(R.id.textView)).setText(Text);
return super.onTouch(v, event);
}
});