DrawRect メソッドを使用して屋内マップを描画しています。ユーザーの OnTouch イベントで各四角形を識別したいのですが、どうすれば実現できますか?
描画された Rectangles を、それらを一意に識別できる独立したオブジェクトとして使用できるかどうかを知りたいです。
更新しました
これを試しました。しかし、それは私にエラーを与えます.forループで新しいインテントを作成するにはどうすればよいですか?? :(
ArrayList<Rect> rectangles = new ArrayList<Rect>();
{rectangles.add(new Rect(232,78,419,238));
rectangles.add(new Rect(285,27,524,239));
rectangles.add(new Rect(418,79,524,239));
rectangles.add(new Rect(181,79,233,215));
rectangles.add(new Rect(232,237,524,315));}
String Selected_rect = null;
public boolean onTouchEvent(MotionEvent event) {
int touchX = (int) event.getX();
int touchY = (int) event.getY();
switch(event.getAction()){
case MotionEvent.ACTION_DOWN:
System.out.println("Touching down!");
for(int i =0; i< rectangles.size();i++){
if(rectangles.get(i).contains(touchX,touchY)){
System.out.println("Touched Rectangle, start activity.");
rectangles.get(i).describeContents ();
Selected_rect = String.valueOf(rectangles.get(i));
}
// Intent inte = new Intent("android.intent.action.DetectBlock");
// startActivity(inte);
}
break;
case MotionEvent.ACTION_UP:
System.out.println("Touching up!");
break;
case MotionEvent.ACTION_MOVE:
System.out.println("Sliding your finger around on the screen.");
break;
}
return true;
}
My Intent メソッド本体
private void startActivity(Intent inte) {
// TODO Auto-generated method stub
startActivity(inte);
}