0

私は単純なコードを持っていますが、なぜ私のメソッド 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)

問題はばかげていると思いますが、まあ、見つけられません

あなたの助けとあなたの時間をありがとう

4

0 に答える 0