私は単純なコードを持っていますが、なぜ私のメソッド calculaCoordenadasImagen(MotionEvent e) が機能しないのか理解できません
このリスナー内のログをチェックして、何が機能し、何が機能しないかを理解してください
最初にそのメソッドを呼び出すリスナー
View.OnTouchListener clickPinta = new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
Log.i("clickPinta","onTouch");
if(event.getAction()==MotionEvent.ACTION_UP){
Log.i("ClickPint","ACTION_UP");//this log works
calculaCoordenadasImagen(event);//this method is not executed
Log.i("onToucn" ,"pasa calculaCoord");//this log works
guardaCoordenadas(lastTouchX,lastTouchY);
return true;
}
return false;
}
};
//これは実行されないメソッドであり、その理由がわかりません。
void calculaCoordenadasImagen(MotionEvent e){
Log.i("calculaCoordenadas","");//this log dont works
float []m = new float[9];
matrix.getValues(m);
float transX = m[Matrix.MTRANS_X] * -1;
float transY = m[Matrix.MTRANS_Y] * -1;
float scaleX = m[Matrix.MSCALE_X];
float scaleY = m[Matrix.MSCALE_Y];
lastTouchX = (int) ((e.getX() + transX) / scaleX);
lastTouchY = (int) ((e.getY() + transY) / scaleY);
lastTouchX = Math.abs(lastTouchX);
lastTouchY = Math.abs(lastTouchY);
}
これはエラーのあるメソッドですが、前のメソッドが実行されないためです。
void guardaCoordenadas(int x, int y){
Log.i("guardaCoordenadas","");
Marking m = new Marking(x,y);
listaPtos.add(m);
Log.i("listaPtos0",""+m.x+"-"+m.y);
}
logCat-error に関する最初の行があります。
10-28 09:57:45.683: I/clickPinta(28066): onTouch
10-28 09:57:45.688: I/clickPinta(28066): onTouch
10-28 09:57:45.688: I/ClickPint(28066): ACTION_UP
10-28 09:57:45.688: I/onToucn(28066): pasa calculaCoord
10-28 09:57:45.688: E/InputEventReceiver(28066): Exception dispatching input event.
10-28 09:57:45.693: E/MessageQueue-JNI(28066): Exception in MessageQueue callback: handleReceiveCallback
10-28 09:57:45.713: E/MessageQueue-JNI(28066): java.lang.NullPointerException
10-28 09:57:45.713: E/MessageQueue-JNI(28066): at com.andres.sun4all.Imagen.guardaCoordenadas(Imagen.java:291)
10-28 09:57:45.713: E/MessageQueue-JNI(28066): at com.andres.sun4all.Imagen$2.onTouch(Imagen.java:165)
10-28 09:57:45.713: E/MessageQueue-JNI(28066): at android.view.View.dispatchTouchEvent(View.java:7332)
10-28 09:57:45.713: E/MessageQueue-JNI(28066): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2416)
10-28 09:57:45.713: E/MessageQueue-JNI(28066): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2159)
10-28 09:57:45.713: E/MessageQueue-JNI(28066): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2416)
問題はばかげていると思いますが、まあ、見つけられません
あなたの助けとあなたの時間をありがとう