Java android.view.InflateException:二进制XML文件:膨胀类时出错
我得到的错误如下Java android.view.InflateException:二进制XML文件:膨胀类时出错,java,android,xml,android-layout,Java,Android,Xml,Android Layout,我得到的错误如下 android.view.InflateException:二进制XML文件行#16:膨胀类DrawView时出错 。我正在DrawView类中创建自定义视图。调用setContentView(R.layout.newimage_活动)时,在Oncreate方法中它将显示上面的错误 XML布局为: DrawView类别代码为: public class DrawView extends View { private Bitmap mBitmap; p
android.view.InflateException:二进制XML文件行#16:膨胀类DrawView时出错
。我正在DrawView
类中创建自定义视图。调用setContentView(R.layout.newimage_活动)时,在Oncreate
方法中代码>它将显示上面的错误
XML布局为:
DrawView类别代码为:
public class DrawView extends View {
private Bitmap mBitmap;
private Canvas mCanvas;
private Path mPath;
private Paint mBitmapPaint;
private Paint mPaint;
private RectF rectF ;
private Region Region1;
private Region Region2;
private List<Point> mPoints;
private List<Line> mLines;
private boolean bModify_line;
private float mX, mY;
private float mOriginal_X, mOriginal_Y;
private Line mLine ;
private static final float TOUCH_TOLERANCE = 50;
public DrawView(Context c)
{
super(c);
rectF = new RectF();
mPath = new Path();
mPath.computeBounds(rectF, true);
mPaint = new Paint();
mPaint.setColor(Color.WHITE);
mPaint.setAntiAlias(true);
mPaint.setXfermode(null);
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setStrokeWidth(5);
mBitmapPaint = new Paint(Paint.DITHER_FLAG);
mPoints = new ArrayList<Point>();
mLines = new ArrayList<Line>();
bModify_line = false;
}
int width,height;
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
width = w ; height =h;
}
@Override
protected void onDraw(Canvas canvas)
{
mBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
mCanvas = new Canvas(mBitmap);
canvas.drawColor(0xFFAAAAAA);//original color 0xFFAAAAAA
canvas.drawBitmap(mBitmap, 0, 0, mBitmapPaint);
for(int i = 0 ; i < mLines.size();i++)
{
Line line = mLines.get(i);
mCanvas.drawLine(line.getStartPoint().x, line.getStartPoint().y, line.getEndPoint().x, line.getEndPoint().y, mPaint);
}
}
private void touch_move(float x, float y)
{
float dx = Math.abs(x - mX);
float dy = Math.abs(y - mY);
if (dx >= TOUCH_TOLERANCE || dy >= TOUCH_TOLERANCE)
{
mX = x;
mY = y;
}
}
private void touch_start(float x, float y)
{
int iLineNumber = checkPointinLines(x, y);
if(iLineNumber >= 0 )
{
bModify_line = true;
mPath.moveTo(x, y);
mX = x;
mY = y;
}
else
{
mLine = new Line();
mLine.setStartPoint(new Point((int)x, (int)y));
mPath.moveTo(x, y);
mX = x;
mY = y;
}
mOriginal_X = mX;
mOriginal_Y = mY;
}
private void touch_up()
{
if(bModify_line)
{
int iLineNumber = checkPointinLines(mOriginal_X, mOriginal_Y);
if(iLineNumber > -1)
{
Line line = mLines.get(iLineNumber);
int iPoint = checkPointOnLine(mX,mY,line);
if(iPoint >= 0)
{
if(iPoint == 0)
{
mPath.moveTo(line.getEndPoint().x, line.getEndPoint().y);
line.setStartPoint(new Point((int)mX, (int)mY));
}
else if(iPoint == 1)
{
mPath.moveTo(line.getStartPoint().x, line.getStartPoint().y);
line.setEndPoint(new Point((int)mX, (int)mY));
}
mLines.set(iLineNumber, line);
System.out.println("After setline size of lineArray::"+mLines.size());
bModify_line = false;
}
}
}
else
{
mPath.lineTo(mX, mY);
mLine.setEndPoint(new Point((int)mX, (int)mY));
mLines.add(mLine);
mPath.reset();
}
}
@Override
public boolean onTouchEvent(MotionEvent event)
{
float x = event.getX();
float y = event.getY();
switch (event.getAction())
{
case MotionEvent.ACTION_DOWN:
touch_start(x, y);
invalidate();
break;
case MotionEvent.ACTION_MOVE:
touch_move(x, y);
invalidate();
break;
case MotionEvent.ACTION_UP:
touch_up();
invalidate();
break;
}
return true;
}
/**
* Checks if user touch point with some tolerance
*/
private int checkPointOnLine(float x, float y,Line line)
{
int iPoint = -1;
Point point = line.getStartPoint();
if(x > (point.x - TOUCH_TOLERANCE) && x < (point.x + TOUCH_TOLERANCE) && y > (point.y - TOUCH_TOLERANCE) && y < (point.y + TOUCH_TOLERANCE) )
iPoint = 0;
point = line.getEndPoint();
if (x > (point.x - TOUCH_TOLERANCE) && x < (point.x + TOUCH_TOLERANCE) && (y > (point.y - TOUCH_TOLERANCE) && y < (point.y + TOUCH_TOLERANCE) ))
iPoint = 1 ;
return iPoint;
}
private int checkPointinLines(float x, float y)
{
int iLine = -1;
for(int i=0 ;i < mLines.size();i++)
{
Line line = mLines.get(i);
if(x > (line.getStartPoint().x - TOUCH_TOLERANCE)
&& x < (line.getStartPoint().x + TOUCH_TOLERANCE)
&& y > (line.getStartPoint().y - TOUCH_TOLERANCE)
&& y < (line.getStartPoint().y + TOUCH_TOLERANCE)
||
x > (line.getEndPoint().x - TOUCH_TOLERANCE)
&& x < (line.getEndPoint().x + TOUCH_TOLERANCE)
&& y > (line.getEndPoint().y - TOUCH_TOLERANCE)
&& y < (line.getEndPoint().y + TOUCH_TOLERANCE))
iLine = i;
}
return iLine;
}
public void movePoint(int position)
{
switch(position)
{
case 0:
//up
movePointUp();
break;
case 1:
//Right
movePointRight();
break;
case 2:
//Down
movePointDown();
break;
case 3:
//Left
movePointLeft();
break;
}
}
private void movePointUp()
{
if(bModify_line)
{
int iLineNumber = checkPointinLines(mOriginal_X, mOriginal_Y);
if(iLineNumber > -1)
{
Line line = mLines.get(iLineNumber);
int iPoint = checkPointOnLine(mX,mY,line);
if(iPoint >= 0)
{
int modifyPointX,modifyPointY;
if(iPoint == 0)
{
modifyPointX = line.getStartPoint().x ;
modifyPointY = line.getStartPoint().y - 2;
mPath.moveTo(line.getEndPoint().x, line.getEndPoint().y);
line.setStartPoint(new Point(modifyPointX, modifyPointY));
}
else if(iPoint == 1)
{
modifyPointX = line.getEndPoint().x;
modifyPointY = line.getEndPoint().y -2;
mPath.moveTo(line.getStartPoint().x, line.getStartPoint().y);
line.setEndPoint(new Point(modifyPointX, modifyPointY));
}
mLines.set(iLineNumber, line);
bModify_line = false;
}
}
}
else
{
Toast.makeText(getContext(), "Please select point", Toast.LENGTH_SHORT).show();
}
}
private void movePointRight()
{
if(bModify_line)
{
int iLineNumber = checkPointinLines(mOriginal_X, mOriginal_Y);
if(iLineNumber > -1)
{
Line line = mLines.get(iLineNumber);
int iPoint = checkPointOnLine(mX,mY,line);
if(iPoint >= 0)
{
int modifyPointX,modifyPointY;
if(iPoint == 0)
{
modifyPointX = line.getStartPoint().x + 2;
modifyPointY = line.getStartPoint().y ;
mPath.moveTo(line.getEndPoint().x, line.getEndPoint().y);
line.setStartPoint(new Point(modifyPointX, modifyPointY));
}
else if(iPoint == 1)
{
modifyPointX = line.getEndPoint().x + 2;
modifyPointY = line.getEndPoint().y ;
mPath.moveTo(line.getStartPoint().x, line.getStartPoint().y);
line.setEndPoint(new Point(modifyPointX, modifyPointY));
}
mLines.set(iLineNumber, line);
bModify_line = false;
}
}
}
else
{
Toast.makeText(getContext(), "Please select point", Toast.LENGTH_SHORT).show();
}
}
private void movePointLeft()
{
if(bModify_line)
{
int iLineNumber = checkPointinLines(mOriginal_X, mOriginal_Y);
if(iLineNumber > -1)
{
Line line = mLines.get(iLineNumber);
int iPoint = checkPointOnLine(mX,mY,line);
if(iPoint >= 0)
{
int modifyPointX,modifyPointY;
if(iPoint == 0)
{
modifyPointX = line.getStartPoint().x - 2 ;
modifyPointY = line.getStartPoint().y ;
mPath.moveTo(line.getEndPoint().x, line.getEndPoint().y);
line.setStartPoint(new Point(modifyPointX, modifyPointY));
}
else if(iPoint == 1)
{
modifyPointX = line.getEndPoint().x - 2;
modifyPointY = line.getEndPoint().y ;
mPath.moveTo(line.getStartPoint().x, line.getStartPoint().y);
line.setEndPoint(new Point(modifyPointX, modifyPointY));
}
mLines.set(iLineNumber, line);
bModify_line = false;
}
}
}
else
{
Toast.makeText(getContext(), "Please select point", Toast.LENGTH_SHORT).show();
}
}
private void movePointDown()
{
if(bModify_line)
{
int iLineNumber = checkPointinLines(mOriginal_X, mOriginal_Y);
if(iLineNumber > -1)
{
Line line = mLines.get(iLineNumber);
int iPoint = checkPointOnLine(mX,mY,line);
if(iPoint >= 0)
{
int modifyPointX,modifyPointY;
if(iPoint == 0)
{
modifyPointX = line.getStartPoint().x ;
modifyPointY = line.getStartPoint().y + 2;
mPath.moveTo(line.getEndPoint().x, line.getEndPoint().y);
line.setStartPoint(new Point(modifyPointX, modifyPointY));
}
else if(iPoint == 1)
{
modifyPointX = line.getEndPoint().x;
modifyPointY = line.getEndPoint().y + 2;
mPath.moveTo(line.getStartPoint().x, line.getStartPoint().y);
line.setEndPoint(new Point(modifyPointX, modifyPointY));
}
mLines.set(iLineNumber, line);
bModify_line = false;
}
}
}
else
{
Toast.makeText(getContext(), "Please select point", Toast.LENGTH_SHORT).show();
}
}
}
公共类DrawView扩展视图{
私有位图mBitmap;
私人帆布mCanvas;
专用路径mPath;
私人油漆;
私人油漆;
私有RectF-RectF;
私人区域1;
私人区域2;
私有列表mpoint;
私人名单;
私有布尔b修改_线;
私人浮动mX,我的;
私人浮动mOriginal_X,mOriginal_Y;
专线;
专用静态最终浮动接触公差=50;
公共绘图视图(上下文c)
{
超级(c);
rectF=新的rectF();
mPath=新路径();
mPath.computeBounds(rectF,true);
mPaint=新油漆();
mPaint.setColor(Color.WHITE);
mPaint.setAntiAlias(true);
mPaint.setXfermode(null);
mPaint.setStyle(油漆、样式、笔划);
mPaint.设定行程宽度(5);
mBitmapPaint=新油漆(油漆抖动标志);
mPoints=newarraylist();
mLines=新的ArrayList();
bModify_line=false;
}
int宽度、高度;
@凌驾
已更改尺寸的受保护空心(整数w、整数h、整数oldw、整数oldh){
super.onSizeChanged(w,h,oldw,oldh);
宽度=w;高度=h;
}
@凌驾
受保护的void onDraw(画布)
{
mBitmap=Bitmap.createBitmap(宽度、高度、Bitmap.Config.ARGB_8888);
mCanvas=新画布(mBitmap);
canvas.drawColor(0xffaaaaaaa);//原始颜色0xffaaaaaaa
drawBitmap(mBitmap,0,0,mbitMapPoint);
对于(int i=0;i=接触公差| | dy>=接触公差)
{
mX=x;
mY=y;
}
}
专用无效触摸启动(浮动x、浮动y)
{
int-ilineumber=checkPointinLines(x,y);
如果(iLineNumber>=0)
{
b修改_行=真;
移动到(x,y)的速度;
mX=x;
mY=y;
}
其他的
{
mLine=新行();
多线设置起点(新点((int)x,(int)y));
移动到(x,y)的速度;
mX=x;
mY=y;
}
mOriginal_X=mX;
mOriginal_Y=我的;
}
私人空间修补()
{
如果(b修改行)
{
int-ilineumber=检查点内线(mOriginal_X,mOriginal_Y);
如果(iLineNumber>-1)
{
Line=mLines.get(ILineumber);
int-iPoint=checkPointOnLine(mX、mY、line);
如果(i点>=0)
{
如果(iPoint==0)
{
moveTo(line.getEndPoint().x,line.getEndPoint().y);
行。设置起点(新点((int)mX,(int)mY));
}
else if(iPoint==1)
{
移动到(line.getStartPoint().x,line.getStartPoint().y);
setEndPoint(新点((int)mX,(int)mY));
}
mLines.set(iLinember,line);
System.out.println(“在线性阵列的设置行大小之后::”+mLines.size());
bModify_line=false;
}
}
}
其他的
{
mPath.lineTo(mX,mY);
setEndPoint(新点((int)mX,(int)mY));
添加(多行);
mPath.reset();
}
}
@凌驾
公共布尔onTouchEvent(运动事件)
{
float x=event.getX();
float y=event.getY();
开关(event.getAction())
{
case MotionEvent.ACTION\u DOWN:
触摸启动(x,y);
使无效();
打破
case MotionEvent.ACTION\u移动:
触摸移动(x,y);
使无效();
打破
case MotionEvent.ACTION\u UP:
润色;
使无效();
打破
}
返回true;
}
/**
*检查用户接触点是否具有一定的公差
*/
私有整数检查点在线(浮点x、浮点y、线)
{
int-iPoint=-1;
Point=line.getStartPoint();
如果(x>(点x-接触公差)和&x<(点x+接触公差)和&y>(点y-接触公差)和&y<(点y+接触公差))
i点=0;
point=line.getEndPoint();
如果(x>(点x-接触公差)和&x<(点x+接触公差)和&y>(点y-接触公差)和&y<(点y+接触公差)))
i点=1;
返回i点;
}
私有int检查点内联线(浮点x,浮点y)
{
内线=-1;
对于(int i=0;i(line.getStartPoint().x-触摸公差)
&&x<(line.getStartPoint().x+触摸公差)
&&y>(line.getStartPoint().y-接触公差)
&&y<(line.getStartPoint().y+接触公差)
||
x>(line.getEndPoint()
public class DrawView extends View {
private Bitmap mBitmap;
private Canvas mCanvas;
private Path mPath;
private Paint mBitmapPaint;
private Paint mPaint;
private RectF rectF ;
private Region Region1;
private Region Region2;
private List<Point> mPoints;
private List<Line> mLines;
private boolean bModify_line;
private float mX, mY;
private float mOriginal_X, mOriginal_Y;
private Line mLine ;
private static final float TOUCH_TOLERANCE = 50;
public DrawView(Context c)
{
super(c);
rectF = new RectF();
mPath = new Path();
mPath.computeBounds(rectF, true);
mPaint = new Paint();
mPaint.setColor(Color.WHITE);
mPaint.setAntiAlias(true);
mPaint.setXfermode(null);
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setStrokeWidth(5);
mBitmapPaint = new Paint(Paint.DITHER_FLAG);
mPoints = new ArrayList<Point>();
mLines = new ArrayList<Line>();
bModify_line = false;
}
int width,height;
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
width = w ; height =h;
}
@Override
protected void onDraw(Canvas canvas)
{
mBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
mCanvas = new Canvas(mBitmap);
canvas.drawColor(0xFFAAAAAA);//original color 0xFFAAAAAA
canvas.drawBitmap(mBitmap, 0, 0, mBitmapPaint);
for(int i = 0 ; i < mLines.size();i++)
{
Line line = mLines.get(i);
mCanvas.drawLine(line.getStartPoint().x, line.getStartPoint().y, line.getEndPoint().x, line.getEndPoint().y, mPaint);
}
}
private void touch_move(float x, float y)
{
float dx = Math.abs(x - mX);
float dy = Math.abs(y - mY);
if (dx >= TOUCH_TOLERANCE || dy >= TOUCH_TOLERANCE)
{
mX = x;
mY = y;
}
}
private void touch_start(float x, float y)
{
int iLineNumber = checkPointinLines(x, y);
if(iLineNumber >= 0 )
{
bModify_line = true;
mPath.moveTo(x, y);
mX = x;
mY = y;
}
else
{
mLine = new Line();
mLine.setStartPoint(new Point((int)x, (int)y));
mPath.moveTo(x, y);
mX = x;
mY = y;
}
mOriginal_X = mX;
mOriginal_Y = mY;
}
private void touch_up()
{
if(bModify_line)
{
int iLineNumber = checkPointinLines(mOriginal_X, mOriginal_Y);
if(iLineNumber > -1)
{
Line line = mLines.get(iLineNumber);
int iPoint = checkPointOnLine(mX,mY,line);
if(iPoint >= 0)
{
if(iPoint == 0)
{
mPath.moveTo(line.getEndPoint().x, line.getEndPoint().y);
line.setStartPoint(new Point((int)mX, (int)mY));
}
else if(iPoint == 1)
{
mPath.moveTo(line.getStartPoint().x, line.getStartPoint().y);
line.setEndPoint(new Point((int)mX, (int)mY));
}
mLines.set(iLineNumber, line);
System.out.println("After setline size of lineArray::"+mLines.size());
bModify_line = false;
}
}
}
else
{
mPath.lineTo(mX, mY);
mLine.setEndPoint(new Point((int)mX, (int)mY));
mLines.add(mLine);
mPath.reset();
}
}
@Override
public boolean onTouchEvent(MotionEvent event)
{
float x = event.getX();
float y = event.getY();
switch (event.getAction())
{
case MotionEvent.ACTION_DOWN:
touch_start(x, y);
invalidate();
break;
case MotionEvent.ACTION_MOVE:
touch_move(x, y);
invalidate();
break;
case MotionEvent.ACTION_UP:
touch_up();
invalidate();
break;
}
return true;
}
/**
* Checks if user touch point with some tolerance
*/
private int checkPointOnLine(float x, float y,Line line)
{
int iPoint = -1;
Point point = line.getStartPoint();
if(x > (point.x - TOUCH_TOLERANCE) && x < (point.x + TOUCH_TOLERANCE) && y > (point.y - TOUCH_TOLERANCE) && y < (point.y + TOUCH_TOLERANCE) )
iPoint = 0;
point = line.getEndPoint();
if (x > (point.x - TOUCH_TOLERANCE) && x < (point.x + TOUCH_TOLERANCE) && (y > (point.y - TOUCH_TOLERANCE) && y < (point.y + TOUCH_TOLERANCE) ))
iPoint = 1 ;
return iPoint;
}
private int checkPointinLines(float x, float y)
{
int iLine = -1;
for(int i=0 ;i < mLines.size();i++)
{
Line line = mLines.get(i);
if(x > (line.getStartPoint().x - TOUCH_TOLERANCE)
&& x < (line.getStartPoint().x + TOUCH_TOLERANCE)
&& y > (line.getStartPoint().y - TOUCH_TOLERANCE)
&& y < (line.getStartPoint().y + TOUCH_TOLERANCE)
||
x > (line.getEndPoint().x - TOUCH_TOLERANCE)
&& x < (line.getEndPoint().x + TOUCH_TOLERANCE)
&& y > (line.getEndPoint().y - TOUCH_TOLERANCE)
&& y < (line.getEndPoint().y + TOUCH_TOLERANCE))
iLine = i;
}
return iLine;
}
public void movePoint(int position)
{
switch(position)
{
case 0:
//up
movePointUp();
break;
case 1:
//Right
movePointRight();
break;
case 2:
//Down
movePointDown();
break;
case 3:
//Left
movePointLeft();
break;
}
}
private void movePointUp()
{
if(bModify_line)
{
int iLineNumber = checkPointinLines(mOriginal_X, mOriginal_Y);
if(iLineNumber > -1)
{
Line line = mLines.get(iLineNumber);
int iPoint = checkPointOnLine(mX,mY,line);
if(iPoint >= 0)
{
int modifyPointX,modifyPointY;
if(iPoint == 0)
{
modifyPointX = line.getStartPoint().x ;
modifyPointY = line.getStartPoint().y - 2;
mPath.moveTo(line.getEndPoint().x, line.getEndPoint().y);
line.setStartPoint(new Point(modifyPointX, modifyPointY));
}
else if(iPoint == 1)
{
modifyPointX = line.getEndPoint().x;
modifyPointY = line.getEndPoint().y -2;
mPath.moveTo(line.getStartPoint().x, line.getStartPoint().y);
line.setEndPoint(new Point(modifyPointX, modifyPointY));
}
mLines.set(iLineNumber, line);
bModify_line = false;
}
}
}
else
{
Toast.makeText(getContext(), "Please select point", Toast.LENGTH_SHORT).show();
}
}
private void movePointRight()
{
if(bModify_line)
{
int iLineNumber = checkPointinLines(mOriginal_X, mOriginal_Y);
if(iLineNumber > -1)
{
Line line = mLines.get(iLineNumber);
int iPoint = checkPointOnLine(mX,mY,line);
if(iPoint >= 0)
{
int modifyPointX,modifyPointY;
if(iPoint == 0)
{
modifyPointX = line.getStartPoint().x + 2;
modifyPointY = line.getStartPoint().y ;
mPath.moveTo(line.getEndPoint().x, line.getEndPoint().y);
line.setStartPoint(new Point(modifyPointX, modifyPointY));
}
else if(iPoint == 1)
{
modifyPointX = line.getEndPoint().x + 2;
modifyPointY = line.getEndPoint().y ;
mPath.moveTo(line.getStartPoint().x, line.getStartPoint().y);
line.setEndPoint(new Point(modifyPointX, modifyPointY));
}
mLines.set(iLineNumber, line);
bModify_line = false;
}
}
}
else
{
Toast.makeText(getContext(), "Please select point", Toast.LENGTH_SHORT).show();
}
}
private void movePointLeft()
{
if(bModify_line)
{
int iLineNumber = checkPointinLines(mOriginal_X, mOriginal_Y);
if(iLineNumber > -1)
{
Line line = mLines.get(iLineNumber);
int iPoint = checkPointOnLine(mX,mY,line);
if(iPoint >= 0)
{
int modifyPointX,modifyPointY;
if(iPoint == 0)
{
modifyPointX = line.getStartPoint().x - 2 ;
modifyPointY = line.getStartPoint().y ;
mPath.moveTo(line.getEndPoint().x, line.getEndPoint().y);
line.setStartPoint(new Point(modifyPointX, modifyPointY));
}
else if(iPoint == 1)
{
modifyPointX = line.getEndPoint().x - 2;
modifyPointY = line.getEndPoint().y ;
mPath.moveTo(line.getStartPoint().x, line.getStartPoint().y);
line.setEndPoint(new Point(modifyPointX, modifyPointY));
}
mLines.set(iLineNumber, line);
bModify_line = false;
}
}
}
else
{
Toast.makeText(getContext(), "Please select point", Toast.LENGTH_SHORT).show();
}
}
private void movePointDown()
{
if(bModify_line)
{
int iLineNumber = checkPointinLines(mOriginal_X, mOriginal_Y);
if(iLineNumber > -1)
{
Line line = mLines.get(iLineNumber);
int iPoint = checkPointOnLine(mX,mY,line);
if(iPoint >= 0)
{
int modifyPointX,modifyPointY;
if(iPoint == 0)
{
modifyPointX = line.getStartPoint().x ;
modifyPointY = line.getStartPoint().y + 2;
mPath.moveTo(line.getEndPoint().x, line.getEndPoint().y);
line.setStartPoint(new Point(modifyPointX, modifyPointY));
}
else if(iPoint == 1)
{
modifyPointX = line.getEndPoint().x;
modifyPointY = line.getEndPoint().y + 2;
mPath.moveTo(line.getStartPoint().x, line.getStartPoint().y);
line.setEndPoint(new Point(modifyPointX, modifyPointY));
}
mLines.set(iLineNumber, line);
bModify_line = false;
}
}
}
else
{
Toast.makeText(getContext(), "Please select point", Toast.LENGTH_SHORT).show();
}
}
}
public DrawView(Context c, AttributeSet attrs) {
super(c, attrs);
}