无法解析方法contains(int,int)?

时间:2017-02-28 03:52:38

标签: android android-studio ontouchlistener

我试图检查特定区域是否包含Android中onTouchEvent上的触摸点。最初,我将所有区域数据放入数组中,如下所示。

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)?为什么会这样?

1 个答案:

答案 0 :(得分:2)

请更改以下代码

for( Object result : regionlist ) {
 //code
}

for( Region result : regionlist ) {
 //code
}