【发布时间】:2015-06-20 17:53:22
【问题描述】:
现在我正在开发将在onClick 上画线的应用程序。我在LineView.java 类中画线并在MainActivity.java 中执行onClick 方法。为了解决这个问题,我检查了类似的问题。
第一种解决方案:
LineView.onDraw();
它给了我这个错误:
Multiple markers at this line
- The method onDraw(Canvas) in the type LineView is not applicable for the
arguments ()
- Suspicious method call; should probably call "draw" rather than "onDraw"
我也尝试在 MainActivity 中写:
LineView lineView = new LineView(null);
lineView.onDraw();
但它也会报错:
Multiple markers at this line
- The method onDraw(Canvas) in the type LineView is not applicable for the
arguments ()
- Suspicious method call; should probably call "draw" rather than "onDraw"
这是我的 LineView.java:
public class LineView extends View {
Paint paint = new Paint();
Point A;
Point B;
boolean draw = false;
public void onCreate(Bundle savedInstanceState) {
}
public LineView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public LineView(Context context, AttributeSet attrs, int defstyle) {
super(context, attrs, defstyle );
}
public LineView(Context context) {
super(context);
paint.setColor(Color.BLACK);
}
@Override
public void onDraw(Canvas canvas) {
draw = MainActivity.draw;
if(draw){
//A = (getIntent().getParcelableExtra("PointA"));
A = MainActivity.A;
B = MainActivity.B;
canvas.drawLine(A.x, A.y, B.x, B.y, paint);
}
}
private Intent getIntent() {
// TODO Auto-generated method stub
return null;
}
}
我的MainActivity.javaonClick:
@Override
public void onClick(View v) {
draw = true;
LineView.onDraw();
}
});
提前致谢!
【问题讨论】:
-
您是否已将 LineView 添加到任何布局或动态初始化 LineView?
-
是的。我的 layout_main 中有 LineView
标签: java android main-activity