-5
AndroidのonTouchEvent
のタッチポイントを含む特定の地域を確認しようとしています。最初は、以下のようにすべてのリージョンデータを配列に入れました。メソッドcontains(int、int)を解決できませんか?
ArrayList<Region> regionlist = new ArrayList<>();
RectF rectF = new RectF();
path.computeBounds(rectF, true);
r = new Region();
r.setPath(path, new Region((int) rectF.left, (int) rectF.top, (int) rectF.right, (int) rectF.bottom));
regionlist.add(r);
ここは私のonTouchEvent
です。
public boolean onTouchEvent(MotionEvent event) {
Point point = new Point();
point.x = (int) event.getX();
point.y = (int) event.getY();
invalidate();
Log.d(TAG, "point: " + point);
for(Object result : regionlist) {
Log.d("isuru", "Bucha " + result);
if(result.contains(point.x, point.y)) { //Error Line
Log.d(TAG, "Touch IN");
}else {
Log.d(TAG, "Touch OUT");
}
}
return true;
}
私は私のコードcontains
に言及したようにCannot resolve method contains(int, int)
などのエラーを示して?なぜこれが起こるのですか? `:`用(regionlistリージョン結果) -
に次のコード
を変更してください。 –
'result'の型が' Object'で、 'Object'はメソッド' contains(int、int) 'がありません。[ここ](https://docs.oracle.com/javase/7/docs/api/) java/lang/Object.html?is-external = true)、タイプを修正するために使用する必要があります! –
@MikeM。ありがとう。できます。 – isuru