【发布时间】:2016-09-14 22:11:53
【问题描述】:
我想将一些数据传递给扩展 android.view.View 的自定义类。 但是,我收到一条警告消息:
自定义视图 LinePlot 缺少工具使用的构造函数:(上下文) 或 (Context,AttributeSet) 或 (Context,AttributeSet,int)
但是,我运行了代码,一切似乎都很顺利。
- 发生了什么?
- 我应该如何将我的数据传递给我的班级?
- 为什么我不能使用自定义构造函数?
谢谢!
import android.graphics.Canvas;
import android.graphics.Paint;
import android.view.View;
import java.util.ArrayList;
public class LinePlot extends View {
private ArrayList<Float> mPoints;
private int dx;
private int dy;
Paint paint=new Paint();
public LinePlot(Context context,int dx_plot, int dy_plot, ArrayList<Float> points) {
super(context);
mPoints=points;
dx=dx_plot;
dy=dy_plot;
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// plotting my data here
}
}
【问题讨论】:
-
您打算如何创建自定义
View的实例?通过布局xml文件?还是以编程方式? -
我将以编程方式创建我的自定义
View的实例。我的 .xml 中有一个FrameLayout,我将通过执行frameLayout.addView(linePlot)添加LinePlot对象
标签: android android-view