0

サーフェスビュー用のTapGestureDetectorクラスを作成しました。そこで、ロングタッチイベントをキャッチし、新しいアクティビティを開始したいのですが、機能しません。インテントが開始されていません。ヌルポインタ例外があります。マニフェストとインテントでアクションを定義しました。しかし、私が特定できないエラーがあります。

 public class TapGestureDetector extends GestureDetector.SimpleOnGestureListener {

int touchX;
int touchY;
public static String block_name;
Context ctx = custom.ctx;
ArrayList<Rect> rectangles = storeMap.GetArrayList();


@Override
public void onLongPress(MotionEvent event) {

//Detect touched X.Y
    touchX = (int) event.getX();
    touchY = (int) event.getY();
//Go through a set of rectangles and identify the touched rectangle
    for (int i = 0; i < rectangles.size(); i++) {

        if (rectangles.get(i).contains(touchX, touchY)) {

            rectangles.get(i).describeContents();
            String Selected_rect = String.valueOf(rectangles.get(i));
            Store_Identified_Block.Store(Selected_rect);
            getSelectedCoordinates();


            //Start a new intent
            Intent myIntent = new Intent("android.intent.action.zoomlevel");
            myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

            //This is not working
            try {
                ctx.startActivity(myIntent);
            } catch (Exception e) {

                Log.d("onLongPress(MotionEvent event)", e.toString());
                e.printStackTrace();
            }



            break;
        }
    }

super.onLongPress(event);
}
4

1 に答える 1

0

それを解決しました:)

try {

                Intent mm=new Intent(finalmainvclass.maincontaxt,zoomlevel.class);
                mm.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                finalmainvclass.maincontaxt.startActivity(mm);

            } catch (Exception e) {

                Log.d("MYLOG", "Error is "+e.toString());
                e.printStackTrace();
            }
于 2012-11-08T15:58:31.727 に答える