-5
我試圖檢查特定區域在Android中包含觸摸點onTouchEvent
。最初我把我所有的區域數據放在數組中,如下所示。無法解析的方法包含(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)
?爲什麼會發生?
您需要使用正確類型'result' - '爲(地區結果:regionlist)'。 –
'result'的類型爲Object,Object'沒有方法'contains(int,int)'check [here](https://docs.oracle.com/javase/7/docs/api/ java/lang/Object.html?is-external = true),您需要使用正確的類型! –
@MikeM。謝謝。有用。 – isuru